Hozzon létre egy Jenkins-fájlt, és határozza meg a folyamatot a kódszerkesztőben
pipeline { ügynök bármely opció { buildDiscarder(logRotator(numToKeepStr: "5")) disableConcurrentBuilds() }
Állítsa be a .NET eszközt a kódszerkesztőben a Jenkins konfigurálásával
Kattintson az Kezelje Jenkins-t lapon a Jenkins irányítópulton.
Görgessen le az oldalon, és kattintson a Globális eszközkonfiguráció elemre.
Görgessen lefelé és kattintson .NET SDK telepítések.
Másolja ki a .NET SDK értékét, és illessze be a kódszerkesztőbe.
eszközök { dotnetsdk "DOTNET_CORE_3.1.24" }
Nyissa meg a plugins.jenkins.io webhelyet, és telepítse a .NET SDK beépülő modult
Alatt Kezelje Jenkins-t az irányítópulton, ellenőrizze Beépülő modulok kezelése annak ellenőrzésére, hogy a .NET SDK beépülő modul telepítve van-e.
A beépülő modul telepítésének megerősítése után térjen vissza a .NET SDK INSTALLATIONS oldalra, és győződjön meg arról, hogy a .NET SDK beépülő modul megfelelő verziója és kiadási adatai vannak beállítva. Folytassa a gombra kattintva Megtakarítás gombot.
Állítsa be a környezeti változókat a kódszerkesztőben
Environment { FELHASZNÁLÓNÉV = credentials('es-username') // SSL.com fiók felhasználóneve. PASSWORD = credentials('es-password') // SSL.com fiók jelszava. CREDENTIAL_ID = credentials('es-crendential-id') // Hitelesítőadat-azonosító a tanúsítvány aláírásához. TOTP_SECRET = hitelesítő adatok ('es-totp-secret') // OAuth TOTP titkos (https://www.ssl.com/how-to/automate-esigner-ev-code-signing) ENVIRONMENT_NAME = 'PROD' // SSL .com környezet neve. Demófiók esetén ez lehet „TESZT”, különben „PROD” lesz.
Az egyes változók értékeit a Jenkins irányítópultján találja meg Biztonság> kezel Hitelesítő adatok.
Állítsa be a műtermékek katalógusának létrehozásának, a docker kép lekérésének, a .NET felépítésének és a műtermék kód aláírásának lépéseit.
1) Hozzon létre Műtermékkönyvtárat az aláírt és aláíratlan műtermékfájlokhoz.
stage('Műtermékek könyvtárának létrehozása') { steps { sh 'mkdir ${WORKSPACE}/artifacts' sh 'mkdir ${WORKSPACE}/csomagok' } }2) Húzza ki a Codesigner Docker képet a Github Registry-ből.
stage('Docker Pull Image') { steps { sh 'docker pull ghcr.io/sslcom/codesigner:latest' } }3) Hozzon létre egy dotnet projektet vagy megoldást és annak összes függőségét. A dll vagy exe fájl létrehozása után másolja a 'csomagok' mappába aláíráshoz.
stage('Build Dotnet') { steps { sh 'dotnet build dotnet/HelloWorld.csproj -c Release' sh 'cp dotnet/bin/Release/netcoreapp3.1/HelloWorld-0.0.1.dll ${WORKSPACE}/packages/ HelloWorld.dll' } }4) Ez az a lépés, ahol a létrehozott DLL (műtermék) fájlokat a CodeSignTool aláírja.
stage('Aláírás és mentés Dotnet Core DLL Artifact') { steps { sh 'docker run -i --rm --dns 8.8.8.8 --network host --volume ${WORKSPACE}/packages:/codesign/examples -- kötet ${WORKSPACE}/artefacts:/codesign/output -e USERNAME=${USERNAME} -e PASSWORD=${PASSWORD} -e CREDENTIAL_ID=${CREDENTIAL_ID} -e TOTP_SECRET=${TOTP_SECRET} -e KÖRNYEZET_NÉV=${ ENVIRONMENT_NAME} ghcr.io/sslcom/codesigner:legutóbbi jel -input_file_path=/codesign/examples/HelloWorld.dll -output_dir_path=/codesign/output' } post { always { archiveArtifacts artifacts: "artifacts.dll",HelloWorfull:d } } } } }
Hozzon létre egy Github repót
Másolja a push parancs egyes összetevőit a Githubon.A kód leküldéséhez írja be a parancsokat a kódszerkesztő új termináljára.
A kód leküldése után lépjen a Github-fiókjába, és másolja ki projektje URL-linkjét.
Lépjen Jenkins-fiókjába, és kattintson a gombra Hozzon létre egy állást link.
A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Többágú csővezeték, állítsa be a projekt nevét, majd kattintson a gombra OK gombot.
Alatt Ágazati forrásokválassza megy és illessze be a Github-projekt URL-linkjét.
Görgessen lefelé Többágú csővezeték triggerek vizsgálata. Jelölje be a jelölőnégyzetet Rendszeresen futtasd, ha másképp nem. Kiválaszthatja 2 perc.
Kattintson az Megtakarítás gombot.
Menjen vissza Jenkins-fiókjába, kattintson a projektre, és ellenőrizze, hogy a folyamat elindult-e
Kattintson a Jenkins projektre, és válassza ki Scan Multibranch Pipeline most az Irányítópulton.
Kattints Konzol kimenet
Görgessen le, és ellenőrizze, hogy a kódaláírás sikeres-e
Teljes Script
Határozza meg a csővezetéket
pipeline { ügynök bármely opció { buildDiscarder(logRotator(numToKeepStr: "5")) disableConcurrentBuilds() }
Telepítse az Építőeszközöket
eszközök { dotnetsdk "DOTNET_CORE_3.1.24" //https://plugins.jenkins.io/dotnet-sdk}
Hozzon létre egy környezeti változót
Environment { FELHASZNÁLÓNÉV = credentials('es-username') // SSL.com fiók felhasználóneve. PASSWORD = credentials('es-password') // SSL.com fiók jelszava. CREDENTIAL_ID = credentials('es-crendential-id') // Hitelesítőadat-azonosító a tanúsítvány aláírásához. TOTP_SECRET = hitelesítő adatok ('es-totp-secret') // OAuth TOTP titkos (https://www.ssl.com/how-to/automate-esigner-ev-code-signing) ENVIRONMENT_NAME = 'PROD' // SSL .com környezet neve. Demó fiók esetén ez lehet „TESZT”, különben „PROD” lesz.
Szkript az építési és aláírási szakaszokhoz
stages { // 1) Műtermékkönyvtár létrehozása az aláírt és aláíratlan műtermékfájlokhoz stage('Műtermékek könyvtárának létrehozása') { steps { sh 'mkdir ${WORKSPACE}/artifacts' sh 'mkdir ${WORKSPACE}/packages' } } / / 2) A Codesigner Docker kép letöltése a Github regisztrációs szakaszból ('Docker Pull Image') { steps { sh 'docker pull ghcr.io/sslcom/codesigner:latest' } } // 3) Dotnet projekt vagy megoldás létrehozása a függőségei. // Miután létrehozta a dll vagy exe fájlt, másolja a 'packages' mappába aláíráshoz stage('Build Dotnet') { steps { sh 'dotnet build dotnet/HelloWorld.csproj -c Release' sh 'cp dotnet/bin/ Release/netcoreapp3.1/HelloWorld-0.0.1.dll ${WORKSPACE}/packages/HelloWorld.dll' } } // 4) Ez az a lépés, ahol a létrehozott DLL (termékek) fájlok aláírásra kerülnek a CodeSignTool segítségével. stage('Aláírás és mentés Dotnet Core DLL Artifact') { steps { sh 'docker run -i --rm --dns 8.8.8.8 --network host --volume ${WORKSPACE}/packages:/codesign/examples -- kötet ${WORKSPACE}/artefacts:/codesign/output -e USERNAME=${USERNAME} -e PASSWORD=${PASSWORD} -e CREDENTIAL_ID=${CREDENTIAL_ID} -e TOTP_SECRET=${TOTP_SECRET} -e KÖRNYEZET_NÉV=${ ENVIRONMENT_NAME} ghcr.io/sslcom/codesigner:legújabb jel -input_file_path=/codesign/examples/HelloWorld.dll -output_dir_path=/codesign/output' } post { always { archiveArtifacts artifacts: "artifacts.dll",HelloWorfull:d } } } } }
Minta Jenkins Pipeline
Tekintse meg az általunk létrehozott Jenkins-csővezeték mintáját github.com/SSLcom/codesigner-jenkins-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ó az Azure DevOps szolgáltatással
- 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.