SSL.com

Integracja Cloud Code Signing z GitLab CI

To jest samouczek dotyczący automatycznego podpisywania kodu w GitLab CI za pomocą eSigner CodeSignTool.  CodeSignTool to bezpieczne narzędzie wiersza poleceń, które stanowi część eSigner: naszego środowiska do podpisywania kodu w chmurze, które przynosi korzyści wydawcom oprogramowania i programistom dzięki możliwości bezpiecznego i wydajnego podpisywania kodu korporacyjnego w nieskomplikowany sposób.  Poniższy przykładowy przepływ pracy przedstawia kod .NET DLL podpisany w GitLab CI za pomocą eSigner.

SSL.com's EV Podpisywanie kodu Certyfikaty pomagają chronić Twój kod przed nieautoryzowanym manipulowaniem i naruszeniem bezpieczeństwa z najwyższym poziomem walidacji i są dostępne za jedyne $ 249 rocznie. Można również używaj swojego certyfikatu EV Code Signing na dużą skalę w chmurze za pomocą eSigner.

ZAMÓW TERAZ

Zmienne środowiskowe

Wejścia

Przykładowy przepływ pracy z podpisywaniem biblioteki DLL kodu .NET

Utwórz plik yml

Grupuj zadania w etapy. Wszystkie prace w jednym etapie muszą zostać zakończone przed wykonaniem kolejnego etapu.

etapy: - budowa - znak
 

Zdefiniuj zmienne środowiskowe globalnie. Właściwość poziomu zadania zastępuje zmienne globalne.

zmienne: PROJECT_NAME: „HelloWorld” PROJECT_VERSION: „0.0.1” DOTNET_VERSION: „3.1” ENVIRONMENT_NAME: „PROD”
 

Zdefiniuj Etap budowy

Poniżej znajduje się definicja twojej pracy polegającej na zbudowaniu artefaktu dll

kompilacja dotnet:

 

  1. Określ, na jakim etapie zadanie zostanie uruchomione.
  etap: budowa

 

  1. Umieść pełną nazwę obrazu, który ma zostać użyty. W razie potrzeby powinien zawierać część rejestru.
 obraz: mcr.microsoft.com/dotnet/sdk:3.1-bullseye

 

  1. Zdefiniuj skrypty, które powinny zostać uruchomione *przed* zadaniem. Można ustawić globalnie lub na zadanie.
before_script: - mkdir -p ${CI_PROJECT_DIR}/artifacts - mkdir -p ${CI_PROJECT_DIR}/pakiety

 

  1. Zdefiniuj skrypty powłoki wykonywane przez Runnera. Zbuduj artefakt DLL
skrypt: - dotnet build dotnet/${PROJECT_NAME}.csproj -c Release - cp dotnet/bin/Release/netcoreapp${DOTNET_VERSION}/${PROJECT_NAME}-${PROJECT_VERSION}.dll ${CI_PROJECT_DIR}/packages/${ PROJECT_NAME}.dll

 

  1. Określ listę plików i katalogów, które powinny być dołączone do zadania, jeśli się powiedzie.
artefakty: ścieżki: - ${CI_PROJECT_DIR}/packages/HelloWorld.dll wygasa_za: 5 minut
 

Zdefiniuj etap podpisywania

Poniżej znajduje się definicja twojego zadania do podpisania artefaktu dll

artefakty znak-dotnet:

 

  1. Określ, na jakim etapie zadanie zostanie uruchomione.
  etap: znak

 

  1. Umieść pełną nazwę obrazu, który ma zostać użyty. W razie potrzeby powinien zawierać część rejestru.
 obraz: okno dokowane: 19.03.0

 

  1. Zdefiniuj usługi. Jest to podobne do właściwości `image`, ale łączy określone usługi z kontenerem `image`.
usługi: - docker:19.03.0-dind

 

  1. Zdefiniuj zmienne środowiskowe dla określonych zadań.
  zmienne: POLECENIE: "znak"

 

  1. Zdefiniuj skrypty, które powinny zostać uruchomione *przed* zadaniem. Można ustawić globalnie lub na zadanie.
  before_script: - mkdir -p ${CI_PROJECT_DIR}/artifacts - mkdir -p ${CI_PROJECT_DIR}/pakiety

 

  1. Umieść skrypty powłoki wykonywane przez Runnera. Podpisz artefakt biblioteki .NET dll za pomocą obrazu Docker CodeSignTool
skrypt: - docker pull ghcr.io/sslcom/codesigner:latest - docker run -i --rm --dns 8.8.8.8 --network host --volume ${CI_PROJECT_DIR}/packages:/codesign/examples --volume $ {CI_PROJECT_DIR}/artifacts:/codesign/output -e USERNAME=${USERNAME} -e PASSWORD=${PASSWORD} -e CREDENTIAL_ID=${CREDENTIAL_ID} -e TOTP_SECRET=${TOTP_SECRET} -e ENVIRONMENT_NAME=${ENVIRONMENT_NAME} ghcr.io/sslcom/codesigner:latest ${COMMAND} -input_file_path=/codesign/examples/${PROJECT_NAME}.dll -output_dir_path=/codesign/output

 

  1. Napisz skrypt, którego można użyć do określenia listy plików i katalogów, które powinny być dołączone do zadania, jeśli się powiedzie.
artefakty: ścieżki: - ${CI_PROJECT_DIR}/artifacts/${PROJECT_NAME}.dll wygasa_in: 1 dni

 

  1. Określ listę nazw zadań z wcześniejszych etapów, z których mają być ładowane artefakty.
zależności: - build-dotnet

SSL.com's EV Podpisywanie kodu Certyfikaty pomagają chronić Twój kod przed nieautoryzowanym manipulowaniem i naruszeniem bezpieczeństwa z najwyższym poziomem walidacji i są dostępne za jedyne $ 249 rocznie. Można również używaj swojego certyfikatu EV Code Signing na dużą skalę w chmurze za pomocą eSigner.

ZAMÓW TERAZ

Rozpocznij etap budowania

Utwórz repozytorium

Zapoznaj się z instrukcjami wiersza poleceń na Gitlab, jak widać na poniższym zrzucie ekranu

Prześlij swój folder

Zrób to, klikając terminal w menu, a następnie Nowy terminal.

Wpisz skrypt push na swoim terminalu, aby przesłać projekt 

Kliknij przycisk Buduj

Po uruchomieniu potoku przejdź do kompilacji

Sprawdź, czy kompilacja się powiodła  

Rozpocznij etap podpisywania

Przejdź do podpisania artefaktu

Potwierdź, czy podpisywanie kodu powiodło się

Możesz teraz pobrać podpisany plik

Możesz odwołać się do SSL.com Repozytorium Github, które zawiera kody źródłowe obrazu dokera i opisuje, jak go używać: https://github.com/SSLcom/ci-images 

Przykładowy potok CI Gitlab

Sprawdź przykładowy potok Gitlab CI, na którym utworzyliśmy https://github.com/SSLcom/codesigner-gitlabci-sample

Inne przewodniki integracji zdalnego podpisywania 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ą.

Zamknij wersję mobilną