Ezmienne środowiskowe
- USERNAME: Nazwa użytkownika konta SSL.com. (Wymagany)
- HASŁO: Hasło do konta SSL.com (wymagane)
- CREDENTIAL_ID: Identyfikator poświadczeń do podpisywania certyfikatu. Jeśli credential_id zostanie pominięty, a użytkownik ma tylko jeden certyfikat podpisywania kodu eSigner, CodeSignTool domyślnie to zrobi. Jeśli użytkownik ma więcej niż jeden certyfikat podpisywania kodu, ten parametr jest obowiązkowy. (Wymagany)
- TOTP_SECRET: Klucz tajny TOTP protokołu OAuth. Możesz uzyskać dostęp do szczegółowych informacji na temat https://www.ssl.com/how-to/automate-esigner-ev-code-signing (Wymagany)
- ŚRODOWISKO_NAME : 'TEST' lub 'PROD' Środowisko. (Wymagany)
Wejścia
-
ścieżka_pliku_wejściowego: Ścieżka obiektu kodu do podpisania. (Wymagany)
-
ścieżka_katalogu_wyjściowego: Katalog, w którym zostaną zapisane obiekty z podpisanym kodem. Jeśli ścieżka_wyjściowa zostanie pominięta, plik określony w -ścieżka_pliku zostanie zastąpiony podpisanym plikiem.
Przykładowy przepływ pracy z podpisywaniem biblioteki DLL kodu .NET
potoki: domyślnie: - krok: # Do kroku można dodać nazwę, aby ekrany i raporty były bardziej czytelne i zrozumiałe. name: build-dotnet # Nazwa obrazu Dockera, który może zawierać adres URL rejestru, tag i obraz wartości skrótu: mcr.microsoft.com/dotnet/sdk:3.1-bullseye # Polecenia do wykonania w skrypcie kroku: # Utworzono katalogi dla artefaktów - mkdir -p ${BITBUCKET_CLONE_DIR}/artifacts - mkdir -p ${BITBUCKET_CLONE_DIR}/packages # Kompilacja projektu dotnet z konfiguracją wydania - dotnet build dotnet/HelloWorld.csproj -c Wersja # Kopiowanie zbudowanych artefaktów do katalogu artefaktów - cp dotnet/bin/Release/netcoreapp3.1/HelloWorld-0.0.1.dll ${BITBUCKET_CLONE_DIR}/packages/HelloWorld.dll # Pliki utworzone przez krok do udostępnienia z następującymi artefaktami kroku: - packages/HelloWorld.dll - step : # Możesz dodać nazwę do kroku, aby ekrany i raporty były bardziej czytelne i zrozumiałe. name: sign-dotnet-artifacts # Usługi włączone dla step services: - docker # Polecenia do wykonania w skrypcie step: # Utworzono katalogi dla artefaktów - mkdir -p ${BITBUCKET_CLONE_DIR}/artifacts - mkdir -p ${BITBUCKET_CLONE_DIR}/ packages # Naprawiono problem z uprawnieniami dotnet - chmod -R 777 ${BITBUCKET_CLONE_DIR}/packages # Docker Pull CodeSigner Docker Image - docker pull ghcr.io/sslcom/codesigner:latest # Podpisz artefakt za pomocą obrazu dokera CodeSigner - docker run -i --rm --dns 8.8.8.8 --volume ${BITBUCKET_CLONE_DIR}/packages:/codesign/examples --volume ${BITBUCKET_CLONE_DIR}/artifacts:/codesign/output -e NAZWA UŻYTKOWNIKA=${NAZWA UŻYTKOWNIKA} -e HASŁO=${HASŁO} -e CREDENTIAL_ID=${CREDENTIAL_ID} -e TOTP_SECRET=${TOTP_SECRET} -e ENVIRONMENT_NAME=${ENVIRONMENT_NAME} ghcr.io/sslcom/codesigner:najnowszy znak -input_file_path=/codesign/examples/HelloWorld.dll -output_dir_path=/codesign /wynik
Utwórz nowe repozytorium na bitbucket.org
Wybierz opcje dla określonych pól:
a) Poziom dostępu: zaznacz pole wyboru Repozytorium prywatne
b) Czy dołączyć plik README? Nie
c) Domyślna nazwa gałęzi: main
d) dołączyć .gitignore? Nie
Utwórz nowy projekt w swoim edytorze kodu
W ramach nowego projektu utwórz plik .yml
Napisz skrypt dla etapu budowania
Napisz scenariusz dla etapu znaku
Pełny skrypt:
potoki: domyślnie: - krok: # Do kroku można dodać nazwę, aby ekrany i raporty były bardziej czytelne i zrozumiałe. name: build-dotnet # Nazwa obrazu Dockera, który może zawierać adres URL rejestru, tag i obraz wartości skrótu: mcr.microsoft.com/dotnet/sdk:3.1-bullseye # Polecenia do wykonania w skrypcie kroku: # Utworzono katalogi dla artefaktów - mkdir -p ${BITBUCKET_CLONE_DIR}/artifacts - mkdir -p ${BITBUCKET_CLONE_DIR}/packages # Kompilacja projektu dotnet z konfiguracją wydania - dotnet build dotnet/HelloWorld.csproj -c Wersja # Kopiowanie zbudowanych artefaktów do katalogu artefaktów - cp dotnet/bin/Release/netcoreapp3.1/HelloWorld-0.0.1.dll ${BITBUCKET_CLONE_DIR}/packages/HelloWorld.dll # Pliki utworzone przez krok do udostępnienia z następującymi artefaktami kroku: - packages/HelloWorld.dll - step : # Możesz dodać nazwę do kroku, aby ekrany i raporty były bardziej czytelne i zrozumiałe. name: sign-dotnet-artifacts # Usługi włączone dla step services: - docker # Polecenia do wykonania w skrypcie step: # Utworzono katalogi dla artefaktów - mkdir -p ${BITBUCKET_CLONE_DIR}/artifacts - mkdir -p ${BITBUCKET_CLONE_DIR}/ packages # Naprawiono problem z uprawnieniami dotnet - chmod -R 777 ${BITBUCKET_CLONE_DIR}/packages # Docker Pull CodeSigner Docker Image - docker pull ghcr.io/sslcom/codesigner:latest # Podpisz artefakt za pomocą obrazu dokera CodeSigner - docker run -i --rm --dns 8.8.8.8 --volume ${BITBUCKET_CLONE_DIR}/packages:/codesign/examples --volume ${BITBUCKET_CLONE_DIR}/artifacts:/codesign/output -e NAZWA UŻYTKOWNIKA=${NAZWA UŻYTKOWNIKA} -e HASŁO=${HASŁO} -e CREDENTIAL_ID=${CREDENTIAL_ID} -e TOTP_SECRET=${TOTP_SECRET} -e ENVIRONMENT_NAME=${ENVIRONMENT_NAME} ghcr.io/sslcom/codesigner:najnowszy znak -input_file_path=/codesign/examples/HelloWorld.dll -output_dir_path=/codesign /wynik
Zdefiniuj wszystkie informacje o repozytorium
Kliknij kartę Ustawienia repozytorium
Pod RUROCIĄGI, kliknij Ustawienia, aby włączyć potok
Następnie, nadal w obszarze RUROCIĄGI, kliknij Zmienne repozytorium.
Umieść nazwę i wartość dla każdej zmiennej repozytorium
Przekaż swój kod do Bitbucket
Na Źródło zakładka menu BitBucket, ustaw adres URL repozytorium na https
Napisz polecenie dla git zdalnie dodaj pochodzenie i wklej link https swojego projektu bitbucket, a następnie plik git push komenda
Napisz git push –u origin master polecenie
Odśwież Bitbucket, aby zobaczyć wypchnięty kod
Odśwież Bitbucket i kliknij Rurociągi patka. Etap budowania i podpisywania rozpocznie się automatycznie.
Sprawdź, czy etap kompilacji zakończył się pomyślnie
Sprawdź, czy etap podpisywania zakończył się pomyślnie
Przykładowy potok BitBucket
Sprawdź potok BitBucket, na którym utworzyliśmy https://github.com/SSLcom/codesigner-bitbucket-przykladInne przewodniki dotyczące integracji zdalnego podpisywania
- Integracja Cloud Code Signing z CircleCI
- Integracja Cloud Code Signing z Jenkins CI
- Integracja Cloud Code Signing z działaniami GitHub
- Integracja Cloud Code Signing z GitLab CI
- Integracja Cloud Code Signing z Travis CI
- Integracja podpisywania kodu w chmurze z usługą Azure DevOps
- Automatyzacja podpisywania kodu w chmurze z usługami CI/CD
Potrzebujesz niestandardowych rozwiązań?
Dzięki naszej wiedzy eksperckiej i pięciogwiazdkowemu personelowi pomocy technicznej jesteśmy gotowi i chętni do współpracy z Tobą w zakresie niestandardowych rozwiązań lub rabatów na podpisywanie na dużą skalę na poziomie przedsiębiorstwa. Wypełnij poniższy formularz, a skontaktujemy się z Tobą.