Miljøvariabler
- USERNAME: SSL.com-konto brukernavn. (Obligatorisk)
- PASSORD: SSL.com-kontopassord (påkrevd)
- CREDENTIAL_ID: Legitimasjons-ID for signering av sertifikat. Hvis credential_id er utelatt og brukeren bare har ett eSigner-kodesigneringssertifikat, vil CodeSignTool som standard bruke det. Hvis brukeren har mer enn ett kodesigneringssertifikat, er denne parameteren obligatorisk. (Obligatorisk)
- TOTP_SECRET: OAuth TOTP-hemmelighet. Du kan få tilgang til detaljert informasjon om https://www.ssl.com/how-to/automate-esigner-ev-code-signing (Nødvendig)
- ENVIRONMENT_NAME : 'TEST' eller 'PROD' miljø. (Obligatorisk)
Innganger
- input_file_path: Banen til kodeobjektet som skal signeres. (Obligatorisk)
- output_dir_path: Katalog hvor signert kodeobjekt(er) vil bli skrevet. Hvis output_path er utelatt, vil filen spesifisert i -file_path bli overskrevet med den signerte filen.
.NET-kode DLL-signeringseksempel arbeidsflyt
Lag en yml-fil
Grupper jobber i etapper. Alle jobber i ett trinn må fullføres før neste trinn utføres.
stadier: - bygge - tegn
Definer miljøvariabler globalt. Jobbnivåegenskap overstyrer globale variabler.
- Miljøvariabler brukes for å gjøre prøvene mer lesbare. I skjermbildet ovenfor av eksempelarbeidsflyten ble PROJECT_NAME, PROJECT_VERSION og DOTNET_VERSION eventuelt utelatt. Signering kan fortsatt fortsette med disse utelatelsene.
- Under ENVIRONMENT_NAME plasserer du «TEST» for testsignering og «PROD» for direktesignering.
variabler: PROJECT_NAME: "HelloWorld" PROJECT_VERSION: "0.0.1" DOTNET_VERSION: "3.1" ENVIRONMENT_NAME: "PROD"
Definer Byggescenen
Nedenfor er definisjonen av jobben din med å bygge dll-artefakt
build-dotnet:
- Definer hvilket stadium jobben skal kjøre i.
trinn: bygge
- Sett inn hele navnet på bildet som skal brukes. Den bør inneholde registerdelen om nødvendig.
bilde: mcr.microsoft.com/dotnet/sdk:3.1-bullseye
- Definer skript som skal kjøres *før* jobben. Kan settes globalt eller per jobb.
før_skript: - mkdir -p ${CI_PROJECT_DIR}/artifacts - mkdir -p ${CI_PROJECT_DIR}/pakker
- Definer Shell-skript utført av Runner. Bygg DLL-artefakt
skript: - 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
- Angi en liste over filer og kataloger som skal knyttes til jobben hvis den lykkes.
- The 'expire_in'-egenskapen lar filen slettes etter en viss tidsperiode. Bruken er valgfri. Dette er grunnen til at skjermbildet av eksempelarbeidsflyten ovenfor ikke viser denne egenskapen.
artefakter: baner: - ${CI_PROJECT_DIR}/packages/HelloWorld.dll expire_in: 5 minutter
Definer skiltstadiet
Nedenfor er definisjonen av jobben din med å signere dll-artefakt
sign-dotnet-artefakter:
- Definer hvilket stadium jobben skal kjøre i.
trinn: tegn
- Sett inn hele navnet på bildet som skal brukes. Den bør inneholde registerdelen om nødvendig.
bilde: docker:19.03.0
- Definer tjenester. Dette ligner på `image`-egenskapen, men vil koble de spesifiserte tjenestene til `image`-beholderen.
tjenester: - docker:19.03.0-dind
- Definer miljøvariabler for spesifikke jobber.
- I skjermbildet ovenfor ble skiltkommandoen definert direkte i skiltskriptet og ikke under miljøvariabler. Bandre metoder kan signere riktig med TravisCI.
variabler: COMMAND: "sign"
- Definer skript som skal kjøres *før* jobben. Kan settes globalt eller per jobb.
før_skript: - mkdir -p ${CI_PROJECT_DIR}/artifacts - mkdir -p ${CI_PROJECT_DIR}/pakker
- Plasser Shell-skript utført av 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 --nettverksvert --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 MILJØNAVN=${ENVIRONMENT_NAME={ENVIRONMENT_NAME ghcr.io/sslcom/codesigner:latest ${COMMAND} -input_file_path=/codesign/examples/${PROJECT_NAME}.dll -output_dir_path=/codesign/output
- Skriv skriptet som kan brukes til å spesifisere en liste over filer og kataloger som skal knyttes til jobben hvis den lykkes.
artefakter: baner: - ${CI_PROJECT_DIR}/artifacts/${PROJECT_NAME}.dll expire_in: 1 dager
- Spesifiser en liste over jobbnavn fra tidligere stadier som artefakter skal lastes fra.
avhengigheter: - build-dotnet
Start byggefasen
Opprett et depot
Se kommandolinjeinstruksjonene på Gitlab som vist på skjermbildet nedenfor
Skyv mappen din
Gjør dette ved å klikke terminal på menyen, etterfulgt av Ny terminal.
Skriv inn push-skriptet på terminalen for å pushe prosjektet
Klikk på Bygg-knappen
Etter å ha utløst rørledningen, fortsett å bygge
Sjekk om byggingen er vellykket
Start skiltstadiet
Fortsett med å signere artefakten
Bekreft om kodesigneringen er vellykket
Du kan nå laste ned den signerte filen
Prøv Gitlab CI Pipeline
Sjekk ut prøven Gitlab CI-pipeline vi har laget på github.com/SSLcom/codesigner-gitlabci-sampleAndre veiledninger for integrasjon av CI/CD-fjernsignering
- Cloud Code Signing-integrasjon med CircleCI
- Cloud Code Signing-integrasjon med GitHub Actions
- Cloud Code Signing-integrasjon med Jenkins CI
- Cloud Code Signing-integrasjon med Travis CI
- Cloud Code Signing-integrasjon med Azure DevOps
- Cloud Code Signing-integrasjon med BitBucket
- Skykodesigneringsautomatisering med CI/CD-tjenester
Trenger du tilpassede løsninger?
Med vår ekspertkunnskap og femstjerners støttepersonell er vi klare og villige til å samarbeide med deg om tilpassede løsninger eller store signeringsrabatter på bedriftsnivå. Fyll ut skjemaet under så tar vi kontakt.