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://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.
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-sampleAndre 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.