Miljövariabler
- USERNAME: Användarnamn för SSL.com-konto. (Nödvändig)
- LÖSENORD: Lösenord för SSL.com-konto (krävs)
- CREDENTIAL_ID: Autentiserings-ID för signering av certifikat. Om credential_id utelämnas och användaren bara har ett eSigner-kodsigneringscertifikat, kommer CodeSignTool att använda det som standard. Om användaren har mer än ett kodsigneringscertifikat är denna parameter obligatorisk. (Nödvändig)
- TOTP_SECRET: OAuth TOTP-hemlighet. Du kan komma åt detaljerad information om https://www.ssl.com/how-to/automate-esigner-ev-code-signing (Nödvändig)
- ENVIRONMENT_NAME : 'TEST' eller 'PROD' miljö. (Nödvändig)
ingångar
- input_file_path: Sökväg till kodobjekt som ska signeras. (Nödvändig)
- output_dir_path: Katalog där signerade kodobjekt kommer att skrivas. Om output_path utelämnas kommer filen som anges i -file_path att skrivas över med den signerade filen.
.NET-kod DLL-signeringsexempel arbetsflöde
Skapa en yml-fil
Gruppera jobb i etapper. Alla jobb i ett steg måste slutföras innan nästa steg utförs.
stadier: - bygga - tecken
Definiera miljövariabler globalt. Jobbnivåegenskap åsidosätter globala variabler.
- Miljövariabler används för att göra proverna mer läsbara. I skärmdumpen ovan av exempelarbetsflödet utelämnades eventuellt PROJECT_NAME, PROJECT_VERSION och DOTNET_VERSION. Undertecknandet kan fortfarande fortsätta med dessa utelämnanden.
- Under ENVIRONMENT_NAME placerar du "TEST" för testsignering och "PROD" för livesignering.
variabler: PROJECT_NAME: "HelloWorld" PROJECT_VERSION: "0.0.1" DOTNET_VERSION: "3.1" ENVIRONMENT_NAME: "PROD"
Definiera Byggscen
Nedan är definitionen av ditt jobb att bygga dll-artefakter
build-dotnet:
- Definiera i vilket stadium jobbet ska köras.
skede: bygga
- Ange det fullständiga namnet på bilden som ska användas. Den bör innehålla registerdelen om det behövs.
bild: mcr.microsoft.com/dotnet/sdk:3.1-bullseye
- Definiera skript som ska köras *före* jobbet. Kan ställas in globalt eller per jobb.
före_skript: - mkdir -p ${CI_PROJECT_DIR}/artefakter - mkdir -p ${CI_PROJECT_DIR}/paket
- Definiera skalskript som körs av löparen. 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
- Ange en lista över filer och kataloger som ska bifogas jobbet om det lyckas.
- Den "expire_in' egenskapen tillåter att filen raderas efter en viss tidsperiod. Dess användning är valfri. Det är därför som skärmdumpen av exemplet på arbetsflödet ovan inte visar den här egenskapen.
artefakter: sökvägar: - ${CI_PROJECT_DIR}/packages/HelloWorld.dll expire_in: 5 minuter
Definiera skyltstadiet
Nedan är definitionen av ditt jobb att signera dll-artefakt
sign-dotnet-artefakter:
- Definiera i vilket stadium jobbet ska köras.
scen: tecken
- Ange det fullständiga namnet på bilden som ska användas. Den bör innehålla registerdelen om det behövs.
bild: docker:19.03.0
- Definiera tjänster. Detta liknar egenskapen `image`, men kommer att länka de angivna tjänsterna till `image`-behållaren.
tjänster: - hamnarbetare:19.03.0-dind
- Definiera miljövariabler för specifika jobb.
- I skärmdumpen ovan definierades teckenkommandot direkt i teckenskriptet och inte under miljövariabler. Bandra metoder kan signera korrekt med TravisCI.
variabler: COMMAND: "tecken"
- Definiera skript som ska köras *före* jobbet. Kan ställas in globalt eller per jobb.
före_skript: - mkdir -p ${CI_PROJECT_DIR}/artefakter - mkdir -p ${CI_PROJECT_DIR}/paket
- Placera Shell-skript som körs av löparen. Signera .NET dll-artefakt med CodeSignTool Docker Image
skript: - docker pull ghcr.io/sslcom/codesigner:latest - docker run -i --rm --dns 8.8.8.8 --nätverksvärd --volym ${CI_PROJECT_DIR}/paket:/codesign/exempel --volym $ {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=NAME={ENVIRONMENT_NAME=NAME} ghcr.io/sslcom/codesigner:latest ${COMMAND} -input_file_path=/codesign/examples/${PROJECT_NAME}.dll -output_dir_path=/codesign/output
- Skriv skriptet som kan användas för att ange en lista över filer och kataloger som ska bifogas jobbet om det lyckas.
artefakter: sökvägar: - ${CI_PROJECT_DIR}/artifacts/${PROJECT_NAME}.dll expire_in: 1 dagar
- Ange en lista över jobbnamn från tidigare stadier från vilka artefakter ska laddas.
beroenden: - build-dotnet
Initiera byggstadiet
Skapa ett arkiv
Se kommandoradsinstruktionerna på Gitlab som ses i skärmdumpen nedan
Tryck på din mapp
Gör detta genom att klicka terminal på menyn, följt av Ny terminal.
Skriv push-skriptet på din terminal för att driva projektet
Klicka på knappen Bygg
Efter att ha utlöst rörledningen, fortsätt att bygga
Kontrollera om bygget är framgångsrikt
Initiera skyltstadiet
Fortsätt för att signera artefakten
Bekräfta om kodsigneringen lyckades
Du kan nu ladda ner den signerade filen
Prov på Gitlab CI Pipeline
Kolla in exempel på Gitlab CI-pipeline vi har skapat på github.com/SSLcom/codesigner-gitlabci-sampleAndra CI/CD-integrationsguider för fjärrsignering
- 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-tjänster
Behöver du anpassade lösningar?
Med vår expertkunskap och femstjärniga supportpersonal är vi redo och villiga att arbeta med dig på skräddarsydda lösningar eller rabatter på stora volymer av signering på företagsnivå. Fyll i formuläret nedan så hör vi av oss.