Tämä on opas siitä, kuinka Azure DevOps voidaan integroida eSigner CodeSignTooliin automaattisen koodin allekirjoituksen suorittamiseksi.
CodeSignTool on komentorivityökalu, joka sopii pilvikoodin allekirjoitusprosesseihin ja integroituu saumattomasti eri CI/CD-alustoille. Se on osa eSigneriä: etäallekirjoituspalveluamme, joka tarjoaa tehokkaan, turvallisen ja käyttäjäystävällisen lähestymistavan koodin allekirjoittamiseen.
ympäristömuuttujat
- USERNAME: SSL.com-tilin käyttäjätunnus. (Vaaditaan)
- SALASANA: SSL.com-tilin salasana (pakollinen)
- CREDENTIAL_ID: Tunnus varmenteen allekirjoittamista varten. Jos credential_id jätetään pois ja käyttäjällä on vain yksi eSigner-koodin allekirjoitusvarmenne, CodeSignTool käyttää oletuksena sitä. Jos käyttäjällä on useampi kuin yksi koodin allekirjoitusvarmenne, tämä parametri on pakollinen. (Vaaditaan)
- TOTP_SECRET: OAuthin TOTP-salaisuus. Voit tutustua yksityiskohtaisiin tietoihin osoitteessa https://www.ssl.com/how-to/automate-esigner-ev-code-signing (Pakollinen)
- ENVIRONMENT_NAME : 'TEST' tai 'PROD' -ympäristö. (Vaaditaan)
Tulot
- input_file_polku: Allekirjoitettavan koodiobjektin polku. (Vaaditaan)
- output_dir_path: Hakemisto, johon allekirjoitetut koodiobjektit kirjoitetaan. Jos lähtöpolku jätetään pois, kohdassa -file_path määritetty tiedosto korvataan allekirjoitetulla tiedostolla.
Luo projekti osoitteessa visualstudio.com
Luo uusi .yml-tiedosto koodieditorissasi
Aseta integrointitriggerit ja ympäristömuuttujat
Jatkuva integrointi laukaisee
laukaista:
- ei mitään
Määrittää ympäristömuuttujat maailmanlaajuisesti. Työtason ominaisuus ohittaa globaalit muuttujat
muuttujat:
buildConfiguration: 'Release'
Ryhmittele työt vaiheisiin
Kirjoita rakennusvaiheen vaiheet. Kaikki yhden vaiheen työt on suoritettava ennen kuin seuraava vaihe suoritetaan.
Tasot:
– vaihe: rakentaa
# Kun työnkulku suoritetaan, tämä nimi kirjataan
displayName: Rakenna
työpaikat:
- työpaikka:
uima-allas:
Suorita työ Windows VM:issä
vmImage: 'windows-latest'
vaiheet:
Asenna Dotnet 6.0.x
– tehtävä: UseDotNet@2
displayName: "Asenna .NET Core SDK"
tulot:
versio: '6.0.x'
performMultiLevelLookup: tosi
includePreviewVersions: true
Palauta Dotnet-projekti
– tehtävä: DotNetCoreCLI@2
displayName: Palauta
tulot:
komento: 'restore'
Rakenna dotnet-projekti julkaisukokoonpanolla
– tehtävä: DotNetCoreCLI@2
displayName: Rakenna
tulot:
komento: rakentaa
projektit: HelloWorld.csproj
argumentit: '–configuration $(buildConfiguration)'
Luo hakemistoja allekirjoitetuille esineille
– powershell: New-Item -ItemType Directory -Path ./artefacts
displayName: "Luotu hakemistoja esineille"
Luo hakemistoja allekirjoitetuille paketeille
– powershell: New-Item -ItemType Directory -Polku ./paketit
displayName: 'Luotu hakemistoja paketeille'
Kopioi artefakti allekirjoituspoluksi
– Powershell: Copy-Item ./bin/Release/netcoreapp3.1/HelloWorld-0.0.1.dll -Destination ./packages/HelloWorld.dll
displayName: "Kopioi rakennetut artefaktit pakettihakemistoon"
Tallenna artefakti, jotta voit käyttää allekirjoitustyötä
– tehtävä: PublishBuildArtifacts@1
displayName: "Tallenna allekirjoitettavaksi artefakti ladattavaksi"
tulot:
pathtoPublish: ./packages/HelloWorld.dll
artefaktin nimi: HelloWorld.dll
Kirjoita Sign-vaiheen vaiheet
– vaihe: Sign
# Kun työnkulku suoritetaan, tämä nimi kirjataan
displayName: Sign
työpaikat:
- työpaikka:
uima-allas:
Suorita työ Ubuntu VM:illä
vmImage: "Ubuntu-uusin"
vaiheet:
Luo hakemistoja allekirjoitetuille esineille
– komentosarja: mkdir -p ./artifacts && mkdir -p ./paketit
displayName: "Luotu hakemistoja artefakteille ja paketeille"
Lataa allekirjoitettava artefakti
– tehtävä: DownloadPipelineArtifact@2
tulot:
artefakti: HelloWorld.dll
latauspolku: ./packages
Asenna Docker 17.09.0-ce
– tehtävä: DockerInstaller@0
displayName: Docker Installer
tulot:
dockerVersio: 17.09.0-ce
julkaisutyyppi: vakaa
Docker Pull CodeSigner Docker Image
- komentosarja: docker pull ghcr.io/sslcom/codesigner:latest
displayName: "Docker Pull CodeSigner Docker Image"
Allekirjoita artefakti CodeSigner Docker -kuvalla
– komentosarja: docker run -i –rm –dns 8.8.8.8 –verkkoisäntä –volyymi $PWD/paketit:/codesign/examples –volume $PWD/artefacts:/codesign/output
-e KÄYTTÄJÄNIMI=$(KÄYTTÄJÄNIMI) -e SALASANA=$(SALASANA) -e CREDENTIAL_ID=$(CREDENTIAL_ID) -e TOTP_SECRET=$(TOTP_SECRET)
-e ENVIRONMENT_NAME=$(ENVIRONMENT_NAME) ghcr.io/sslcom/codesigner:viimeisin merkki -input_file_path=/codesign/examples/HelloWorld.dll
-output_dir_path=/codesign/output
displayName: "Allekirjoita artefakti CodeSigner Docker -kuvalla"
Tallenna allekirjoitettu artefakti latausta varten
– tehtävä: PublishBuildArtifacts@1
displayName: "Tallenna allekirjoitettu artefakti latausta varten"
tulot:
pathtoPublish: ./artifacts/HelloWorld.dll
artefaktin nimi: HelloWorld.dll
Luo uusi .gitignore-tiedosto
Kirjoita:
astia
obj
.vscode
Kirjoita viestipalkkiin Created pipeline.yml ja napsauta Commit nappia
Jatka napsauttamalla Synkronoi muutokset nappia
Siirry osoitteeseen visualstudio.com ja napsauta Repot kojelaudassa
Päivitä sivu nähdäksesi yml-tiedoston
Napauta putkistojen kojelaudassa
Napsauta sitten Luo putkisto
Napsauta Azure Repos Git
Valitse YAML-tiedostosi
Napauta Muuttujat painiketta ja sen jälkeen Uusi muuttuja
Aseta arvo kullekin ympäristömuuttujalle ja napsauta OK nappia
Napsauta +-merkkiä jatkaaksesi kunkin muuttujan lisäämistä
Kun olet sijoittanut kaikki muuttujat, jatka liukuhihnan luomista
Suorita putkisto
Napauta putkistojen kojelaudassa. Napsauta kolmea pistettä (lisää vaihtoehtoja) liukuhihnassa. Klikkaus Suorita putki. Lopuksi napsauta ajaa painiketta.
Aloita rakennusvaihe napsauttamalla Build
Tarkista, onnistuuko jokainen työ rakennusvaiheessa
Napsauta vieressä olevaa avattavaa nuolta Job nähdäksesi kunkin rakennustyön tilan
Aloita Sign-vaihe napsauttamalla Job
Tarkista, onnistuuko jokainen allekirjoitusprosessin vaihe
Tarkista vielä kerran, onnistuvatko sekä rakennus- että allekirjoitusvaiheet
Esimerkki Azure DevOps -putkilinjasta
Katso esimerkki Azure DevOps -putkista, jonka olemme luoneet github.com/SSLcom/codesigner-azuredevops-sampleMuut etäallekirjoituksen integrointioppaat
- Pilvikoodin allekirjoituksen integrointi CircleCI:n kanssa
- Cloud Code Signing -integraatio GitHub Actionsin kanssa
- Cloud Code Signing -integraatio GitLab CI:n kanssa
- Cloud Code Signing -integrointi Travis CI:n kanssa
- Pilvikoodin allekirjoituksen integrointi Jenkins CI:n kanssa
- Cloud Code Signing -integrointi BitBucketin kanssa
- Pilvikoodin allekirjoitusautomaatio CI/CD-palveluilla
Tarvitsetko mukautettuja ratkaisuja?
Asiantuntijaosaamisemme ja viiden tähden tukihenkilöstömme avulla olemme valmiita ja halukkaita työskentelemään kanssasi räätälöityjen ratkaisujen tai yritystason suurten allekirjoitusalennusten parissa. Täytä alla oleva lomake, niin olemme sinuun yhteydessä.