Miljøvariabler
- USERNAME: SSL.com konto brugernavn. (Påkrævet)
- PASSWORD: SSL.com kontoadgangskode (påkrævet)
- CREDENTIAL_ID: Legitimations-id til signering af certifikat. Hvis credential_id er udeladt, og brugeren kun har ét eSigner-kodesigneringscertifikat, vil CodeSignTool som standard være det. Hvis brugeren har mere end ét kodesigneringscertifikat, er denne parameter obligatorisk. (Påkrævet)
- TOTP_SECRET: OAuth TOTP-hemmelighed. Du kan få adgang til detaljerede oplysninger om https://www.ssl.com/how-to/automate-esigner-ev-code-signing (Påkrævet)
- ENVIRONMENT_NAME : 'TEST' eller 'PROD' miljø. (Påkrævet)
Indgange
- input_file_path: Sti til kodeobjekt, der skal signeres. (Påkrævet)
- output_dir_path: Bibliotek, hvor signeret kodeobjekt(er) vil blive skrevet. Hvis output_path er udeladt, vil filen specificeret i -file_path blive overskrevet med den signerede fil.
.NET Code DLL Signing Eksempel Workflow
Opret en yml-fil
Gruppér job i etaper. Alle opgaver i én fase skal afsluttes, før den næste fase udføres.
stadier: - bygge - tegn
Definer miljøvariabler globalt. Jobniveauegenskab tilsidesætter globale variabler.
- Miljøvariabler bruges til at gøre prøverne mere læsbare. I skærmbilledet ovenfor af eksempelarbejdsgangen blev PROJECT_NAME, PROJECT_VERSION og DOTNET_VERSION eventuelt udeladt. Underskrift kan stadig fortsætte med disse udeladelser.
- Under ENVIRONMENT_NAME skal du placere "TEST" for testsignering og "PROD" for livesignering.
variabler: PROJECT_NAME: "HelloWorld" PROJECT_VERSION: "0.0.1" DOTNET_VERSION: "3.1" ENVIRONMENT_NAME: "PROD"
Definer Byggestadie
Nedenfor er definitionen af dit job med at bygge dll-artefakter
build-dotnet:
- Definer, hvilket stadium jobbet skal køre i.
etape: bygge
- Indsæt det fulde navn på det billede, der skal bruges. Den skal indeholde registreringsdelen, hvis det er nødvendigt.
billede: mcr.microsoft.com/dotnet/sdk:3.1-bullseye
- Definer scripts, der skal køre *før* jobbet. Kan indstilles globalt eller pr. job.
før_script: - mkdir -p ${CI_PROJECT_DIR}/artifacts - mkdir -p ${CI_PROJECT_DIR}/pakker
- Definer Shell-scripts, der udføres af Runner. Byg DLL-artefakt
script: - 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
- Angiv en liste over filer og mapper, der skal knyttes til jobbet, hvis det lykkes.
- Den "udløber_om' egenskaben tillader, at filen slettes efter et vist tidsrum. Dens brug er valgfri. Dette er grunden til, at skærmbilledet af eksemplet på arbejdsgangen ovenfor ikke viser denne egenskab.
artefakter: stier: - ${CI_PROJECT_DIR}/packages/HelloWorld.dll expire_in: 5 minutter
Definer skiltstadiet
Nedenfor er definitionen af dit job til at signere dll-artefakt
tegn-dotnet-artefakter:
- Definer, hvilket stadium jobbet skal køre i.
etape: tegn
- Indsæt det fulde navn på det billede, der skal bruges. Den skal indeholde registreringsdelen, hvis det er nødvendigt.
billede: docker:19.03.0
- Definer tjenester. Dette svarer til egenskaben `image`, men vil linke de angivne tjenester til `image`-beholderen.
tjenester: - havnemand:19.03.0-dind
- Definer miljøvariabler for specifikke job.
- I skærmbilledet ovenfor blev sign-kommandoen defineret direkte i sign-scriptet og ikke under miljøvariabler. Bandre metoder kan signere korrekt med TravisCI.
variabler: COMMAND: "tegn"
- Definer scripts, der skal køre *før* jobbet. Kan indstilles globalt eller pr. job.
før_script: - mkdir -p ${CI_PROJECT_DIR}/artifacts - mkdir -p ${CI_PROJECT_DIR}/pakker
- Placer Shell-scripts udført af Runner. Signer .NET dll-artefakt med CodeSignTool Docker Image
script: - docker pull ghcr.io/sslcom/codesigner:latest - docker run -i --rm --dns 8.8.8.8 --netværksvært --volumen ${CI_PROJECT_DIR}/packages:/codesign/examples --volume $ {CI_PROJECT_DIR}/artifacts:/codesign/output -e BRUGERNAVN=${USERNAME} -e PASSWORD=${PASSWORD} -e CREDENTIAL_ID=${CREDENTIAL_ID} -e TOTP_SECRET=${TOTP_SECRET} -e ENVIRONMENT_NAME=${ENVIRONMENT_NAME=NAME} ghcr.io/sslcom/codesigner:latest ${COMMAND} -input_file_path=/codesign/examples/${PROJECT_NAME}.dll -output_dir_path=/codesign/output
- Skriv det script, der kan bruges til at angive en liste over filer og mapper, der skal knyttes til jobbet, hvis det lykkes.
artefakter: stier: - ${CI_PROJECT_DIR}/artifacts/${PROJECT_NAME}.dll udløber_om: 1 dage
- Angiv en liste over jobnavne fra tidligere stadier, hvorfra artefakter skal indlæses.
afhængigheder: - build-dotnet
Start byggefasen
Opret et lager
Se kommandolinjeinstruktionerne på Gitlab som vist på skærmbilledet nedenfor
Skub din mappe
Gør dette ved at klikke terminal på menuen efterfulgt af Ny terminal.
Indtast push-scriptet på din terminal for at skubbe projektet
Klik på knappen Byg
Efter at have udløst rørledningen, fortsæt med at bygge
Tjek, om opbygningen er vellykket
Start Sign Stage
Fortsæt med at underskrive artefakten
Bekræft, om kodesigneringen er vellykket
Du kan nu downloade den signerede fil
Prøve Gitlab CI Pipeline
Tjek prøven af Gitlab CI-pipeline, vi har oprettet på github.com/SSLcom/codesigner-gitlabci-sampleAndre CI/CD Remote Signing Integration Guides
- Cloud Code Signing-integration med CircleCI
- Cloud Code Signing-integration med GitHub Actions
- Cloud Code Signing-integration med Jenkins CI
- Cloud Code Signing-integration med Travis CI
- Cloud Code Signing-integration med Azure DevOps
- Cloud Code Signing-integration med BitBucket
- Cloud Code Signing Automation med CI/CD-tjenester
Brug for tilpassede løsninger?
Med vores ekspertviden og femstjernede supportmedarbejdere er vi klar til og villige til at arbejde sammen med dig om skræddersyede løsninger eller store signeringsrabatter på virksomhedsniveau. Udfyld formularen nedenfor, så kontakter vi dig.