Ez egy útmutató arról, hogyan integrálható az Azure DevOps az eSigner CodeSignTool eszközzel az automatikus kódaláírás végrehajtásához.
A CodeSignTool egy parancssori segédprogram, amely felhőalapú kódaláírási folyamatokhoz alkalmas, és zökkenőmentesen integrálható különféle CI/CD platformokkal. Az eSigner részét képezi: távoli aláíró szolgáltatásunknak, amely hatékony, biztonságos és felhasználóbarát megközelítést kínál a kódaláíráshoz.
Környezeti változók
- USERNAME: SSL.com-fiók felhasználóneve. (Kívánt)
- JELSZÓ: SSL.com fiók jelszava (kötelező)
- CREDENTIAL_ID: Hitelesítési adat azonosító a tanúsítvány aláírásához. Ha a credential_id kimarad, és a felhasználónak csak egy eSigner kód aláíró tanúsítványa van, a CodeSignTool alapértelmezés szerint ezt fogja használni. Ha a felhasználónak egynél több kódaláíró tanúsítványa van, akkor ez a paraméter kötelező. (Kívánt)
- TOTP_SECRET: OAuth TOTP titkos. Részletes információkat a címen érhet el https://www.ssl.com/how-to/automate-esigner-ev-code-signing (Kötelező)
- ENVIRONMENT_NAME : 'TESZT' vagy 'PROD' környezet. (Kívánt)
Bemenetek
- bemeneti_fájl_útvonala: Az aláírandó kódobjektum elérési útja. (Kívánt)
- output_dir_path: Könyvtár, ahová az aláírt kódobjektumok íródnak. Ha a kimeneti_útvonal kimarad, a -file_path paraméterben megadott fájl felül lesz írva az aláírt fájllal.
Hozzon létre egy projektet a visualstudio.com oldalon
Hozzon létre egy új .yml fájlt a kódszerkesztőben
Állítsa be az integrációs triggereket és a környezeti változókat
Folyamatos integrációs triggerek
trigger:
- egyik sem
Globálisan határozza meg a környezeti változókat. A feladat szintű tulajdonság felülírja a globális változókat
változók:
buildConfiguration: 'Release'
Csoportosítsa a munkákat szakaszokba
Írja le az építési szakasz lépéseit. Az egyik szakaszban lévő összes feladatot be kell fejezni a következő szakasz végrehajtása előtt.
szakasz:
– színpad: épít
# Amikor a munkafolyamat fut, ez a név kerül naplózásra
displayName: Build
állások:
– munkakör:
medence:
Futtassa a feladatot Windows virtuális gépeken
vmImage: 'windows-latest'
lépések:
Telepítse a Dotnet 6.0.x-et
– feladat: UseDotNet@2
displayName: '.NET Core SDK telepítése'
bemenetek:
verzió: '6.0.x'
performMultiLevelLookup: igaz
includePreviewVersions: true
Dotnet projekt visszaállítása
– feladat: DotNetCoreCLI@2
displayName: Visszaállítás
bemenetek:
parancs: 'restore'
Dotnet projekt létrehozása kiadási konfigurációval
– feladat: DotNetCoreCLI@2
displayName: Build
bemenetek:
parancs: build
projektek: HelloWorld.csproj
argumentumok: '–konfiguráció $(buildConfiguration)'
Hozzon létre könyvtárakat az aláírt műtermékekhez
– powershell: Új elem -Elemtípus könyvtár -Elérési út ./termékek
displayName: "Létrehozott könyvtárak műtermékekhez"
Hozzon létre könyvtárakat az aláírt csomagokhoz
– powershell: Új-elem -ItemType könyvtár -Elérési út ./csomagok
displayName: "Csomagok könyvtárai létrehozva"
Másolja a műterméket aláíró útvonalnak
– Powershell: Copy-Item ./bin/Release/netcoreapp3.1/HelloWorld-0.0.1.dll -Cél ./packages/HelloWorld.dll
displayName: "Beépített melléktermékek másolása a csomagok könyvtárába"
Mentse el a műterméket az aláírási feladat használatához
– feladat: PublishBuildArtifacts@1
displayName: 'Mentés, hogy aláírva legyen melléktermék letöltéshez'
bemenetek:
pathtoPublish: ./packages/HelloWorld.dll
artifactName: HelloWorld.dll
Írja le a Jel szakasz lépéseit
– színpad: Jel
# Amikor a munkafolyamat fut, ez a név kerül naplózásra
displayName: Jel
állások:
– munkakör:
medence:
Futtassa a feladatot Ubuntu virtuális gépeken
vmImage: "Ubuntu-legújabb"
lépések:
Hozzon létre könyvtárakat az aláírt műtermékekhez
– script: mkdir -p ./artifacts && mkdir -p ./csomagok
displayName: „Létrehozott könyvtárak műtermékekhez és csomagokhoz”
Töltse le az aláírandó műterméket
– feladat: DownloadPipelineArtifact@2
bemenetek:
műtermék: HelloWorld.dll
letöltési útvonal: ./packages
Telepítse a Docker 17.09.0-ce verzióját
– feladat: DockerInstaller@0
displayName: Docker Installer
bemenetek:
dockerVerzió: 17.09.0-ce
kiadásTípus: stabil
Docker Pull CodeSigner Docker Image
– script: docker pull ghcr.io/sslcom/codesigner:latest
displayName: "Docker Pull CodeSigner Docker Image"
Aláírja a műterméket CodeSigner docker-képpel
– script: docker run -i –rm –dns 8.8.8.8 –hálózati gazdagép –kötet $PWD/csomagok:/codesign/examples –kötet $PWD/termékek:/kódtervezés/kimenet
-e FELHASZNÁLÓNÉV=$(FELHASZNÁLÓNÉV) -e JELSZÓ=$(JELSZÓ) -e CREDENTIAL_ID=$(CREDENTIAL_ID) -e TOTP_SECRET=$(TOTP_SECRET)
-e ENVIRONMENT_NAME=$(ENVIRONMENT_NAME) ghcr.io/sslcom/codesigner:legújabb jel -input_file_path=/codesign/examples/HelloWorld.dll
-output_dir_path=/codesign/output
displayName: 'Artefact aláírása CodeSigner docker képpel'
Az aláírt műtermék mentése letöltéshez
– feladat: PublishBuildArtifacts@1
displayName: "Aláírt műtermék mentése letöltéshez"
bemenetek:
pathtoPublish: ./artifacts/HelloWorld.dll
artifactName: HelloWorld.dll
Hozzon létre egy új .gitignore fájlt
Begépel:
tartó
obj
.vscode
Az üzenetsorba írja be a Created pipeline.yml parancsot, és kattintson a gombra Commit gomb
Folytassa a gombra kattintva Változások szinkronizálása gomb
Lépjen a visualstudio.com oldalra, és kattintson pihenés a műszerfalon
Az yml fájl megtekintéséhez frissítse az oldalt
Kattints Csővezetékek a műszerfalon
Ezt követően kattintson Csővezeték létrehozása
Kattintson az Azure Repos Git elemre
Válassza ki a YAML fájlt
Kattints Változók gombot, majd kövesse Új változó
Adja meg az egyes környezeti változók értékét, és kattintson a gombra OK gomb
Kattintson a + jelre az egyes változók hozzáadásához
Az összes változó behelyezése után folytassa a folyamat létrehozásával
Futtassa a csővezetéket
Kattints Csővezetékek a műszerfalon. Kattintson a három pontra (további lehetőségek) a folyamatban. Kattintson Csővezeték futtatása. Végül kattintson a futás gombot.
Kattintson a Build gombra az építési szakasz elindításához
Ellenőrizze, hogy az építési szakaszban minden egyes feladat sikeres-e
Kattintson a mellette lévő legördülő nyílra Munka az egyes építési munkák állapotának megtekintéséhez
Indítsa el a Sign szakaszt a kattintással Munka
Ellenőrizze, hogy az aláírási folyamat minden lépése sikeres-e
Ellenőrizze még egyszer, hogy mind az építési, mind az aláírási szakasz sikeres volt-e
Minta Azure DevOps Pipeline
Tekintse meg az általunk létrehozott Azure DevOps-folyamatmintát github.com/SSLcom/codesigner-azuredevops-sampleEgyéb távoli aláírás integrációs útmutatók
- Cloud Code Signing integráció CircleCI-vel
- Cloud Code Signing integráció a GitHub-műveletekkel
- Cloud Code Signing integráció a GitLab CI-vel
- Cloud Code Signing integráció a Travis CI-vel
- Cloud Code Signing integráció a Jenkins CI-vel
- Cloud Code Signing integráció a BitBucket segítségével
- Felhőkód-aláíró automatizálás CI/CD szolgáltatásokkal
Egyedi megoldásokra van szüksége?
Szakértői tudásunkkal és ötcsillagos támogató munkatársainkkal készen állunk arra, hogy együttműködjünk Önnel az egyedi megoldásokon vagy a vállalati szintű, nagy volumenű aláírási kedvezményeken. Töltse ki az alábbi űrlapot és felvesszük Önnel a kapcsolatot.