Dette er en guide til, hvordan Azure DevOps kan integreres med eSigner CodeSignTool for at udføre automatiseret kodesignering.
CodeSignTool er et kommandolinjeværktøj, der er velegnet til cloud-kodesigneringsprocesser og problemfrit integreres med forskellige CI/CD-platforme. Det er en del af eSigner: vores fjernsigneringstjeneste, der tilbyder en effektiv, sikker og brugervenlig tilgang til kodesignering.
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://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.
Opret et projekt på visualstudio.com

Opret en ny .yml-fil på din kodeeditor

Indstil integrationstriggere og miljøvariabler

Kontinuerlig integration udløser
udløser:
- ingen
Definerer miljøvariabler globalt. Jobniveauegenskab tilsidesætter globale variabler
variabler:
buildConfiguration: 'Release'
Gruppér job i etaper
Skriv trinene til byggefasen. Alle opgaver i én fase skal afsluttes, før den næste fase udføres.
niveauer:
– etape: bygge
# Når arbejdsgangen kører, er dette navnet, der logges
displaynavn: Byg
job:
- job:
pool:
Kør job på Windows VM'er
vmImage: 'Windows-nyeste'
trin:
Installer Dotnet 6.0.x
– opgave: UseDotNet@2
displayName: 'Installer .NET Core SDK'
inputs:
version: '6.0.x'
performMultiLevel Lookup: sand
includePreviewVersions: sand
Gendan Dotnet-projektet
– opgave: DotNetCoreCLI@2
displayName: Gendan
inputs:
kommando: 'gendan'
Byg dotnet-projekt med udgivelseskonfiguration
– opgave: DotNetCoreCLI@2
displaynavn: Byg
inputs:
kommando: bygge
projekter: HelloWorld.csproj
argumenter: '–konfiguration $(buildConfiguration)'
Opret mapper til signerede artefakter
– powershell: New-Item -ItemType Directory -Path ./artifacts
displayName: 'Oprettet mapper til artefakter'
Opret mapper til signerede pakker
– powershell: New-Item -ItemType Directory -Path ./packages
displayName: 'Oprettet mapper til pakker'
Kopiér artefakt til at være signeringssti
– powershell: Copy-Item ./bin/Release/netcoreapp3.1/HelloWorld-0.0.1.dll -Destination ./packages/HelloWorld.dll
displayName: "Kopier byggede artefakter til pakkemappe"
Gem artefakt for at bruge signeringsjob
– opgave: PublishBuildArtifacts@1
displayName: 'Gem for at blive signeret artefakt til download'
inputs:
pathtoPublish: ./packages/HelloWorld.dll
artefaktnavn: HelloWorld.dll
Skriv trinene til Sign-fasen

– scene: Sign
# Når arbejdsgangen kører, er dette navnet, der logges
displaynavn: Tegn
job:
- job:
pool:
Kør job på Ubuntu VM'er
vmImage: "Ubuntu-seneste"
trin:
Opret mapper til signerede artefakter
– script: mkdir -p ./artifacts && mkdir -p ./packages
displayName: "Oprettet mapper til artefakter og pakker"
Download artefakten, der skal signeres
– opgave: DownloadPipelineArtifact@2
inputs:
artefakt: HelloWorld.dll
downloadPath: ./pakker
Installer Docker 17.09.0-ce
– opgave: DockerInstaller@0
displayName: Docker Installer
inputs:
dockerVersion: 17.09.0-ce
releaseType: stabil
Docker Pull CodeSigner Docker-billede
– script: docker pull ghcr.io/sslcom/codesigner:latest
displayName: 'Docker Pull CodeSigner Docker Image'
Signer artefakt med CodeSigner docker-billede
– script: docker run -i –rm –dns 8.8.8.8 –netværksvært –volumen $PWD/pakker:/codesign/eksempler –volumen $PWD/artefakter:/codesign/output
-e BRUGERNAVN=$(BRUGERNAVN) -e PASSWORD=$(PASSWORD) -e CREDENTIAL_ID=$(CREDENTIAL_ID) -e TOTP_SECRET=$(TOTP_SECRET)
-e ENVIRONMENT_NAME=$(ENVIRONMENT_NAME) ghcr.io/sslcom/codesigner:seneste tegn -input_file_path=/codesign/examples/HelloWorld.dll
-output_dir_path=/codesign/output
displayName: 'Sign artefakt med CodeSigner docker billede'
Gem signeret artefakt til download
– opgave: PublishBuildArtifacts@1
displayName: 'Gem signeret artefakt til download'
inputs:
pathtoPublish: ./artifacts/HelloWorld.dll
artefaktnavn: HelloWorld.dll
Opret en ny .gitignore-fil

Indtaste:
bin
obj
.vscode
På meddelelseslinjen skal du indtaste Oprettet pipeline.yml og klikke på Commit .

Fortsæt med at klikke på Synkroniser ændringer .

Fortsæt til visualstudio.com og klik Repos på instrumentbrættet
Opdater siden for at se yml-filen

Klik Rørledninger på instrumentbrættet

Klik derefter på Opret rørledning

Klik på Azure Repos Git

Vælg din YAML-fil

Klik Variabler knappen efterfulgt af Ny variabel

Indsæt værdien for hver miljøvariabel, og klik på OK .

Klik på + tegnet for at fortsætte med at tilføje hver variabel

Efter at have placeret alle variabler, fortsæt med at oprette din pipeline

Kør din pipeline
Klik Rørledninger på instrumentbrættet. Klik på de tre prikker (flere muligheder) på din pipeline. Klik Kør pipeline. Endelig skal du klikke på Kør .

Klik på Byg for at starte byggefasen

Tjek, om hvert job i byggefasen er vellykket
Klik på rullepilen ved siden af Job for at se status for hvert byggejob

Start Sign-fasen ved at klikke Job
Tjek, om hvert trin i signeringsprocessen er vellykket

Dobbelttjek, om både bygge- og skiltetrin er vellykkede

Eksempel på Azure DevOps Pipeline
Tjek den eksempel på Azure DevOps-pipeline, vi har oprettet på github.com/SSLcom/codesigner-azuredevops-sample
Andre Remote Signing Integration Guides
- Cloud Code Signing-integration med CircleCI
- Cloud Code Signing-integration med GitHub Actions
- Cloud Code Signing-integration med GitLab CI
- Cloud Code Signing-integration med Travis CI
- Cloud Code Signing-integration med Jenkins CI
- 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.
