Luo Jenkins-tiedosto ja määritä liukuhihna koodieditorissasi
pipeline { agentti kaikki vaihtoehdot { buildDiscarder(logRotator(numToKeepStr: "5")) disableConcurrentBuilds() }
Aseta .NET-työkalu koodieditoriin määrittämällä Jenkins
Valitse Jenkinsin hallinta -välilehti Jenkins-hallintapaneelissa.
Vieritä sivua alas ja napsauta Global Tool Configuration.
Selaa alaspäin ja napsauta .NET SDK -asennukset.
Kopioi .NET SDK:n arvo ja liitä se koodieditoriin.
työkalut { dotnetsdk "DOTNET_CORE_3.1.24" }
Siirry osoitteeseen plugins.jenkins.io ja asenna .NET SDK -laajennus
Alle Jenkinsin hallinta Tarkista hallintapaneelissasi Hallinnoi lisäosia vahvistaaksesi, onko .NET SDK -laajennus asennettu.
Kun olet varmistanut, että laajennus on asennettu, palaa kohtaan .NET SDK INSTALLATIONS ja varmista, että .NET SDK -laajennuksen oikea versio ja julkaisutiedot on asetettu. Jatka napsauttamalla Säästä painiketta.
Aseta ympäristömuuttujat koodieditorissasi
Environment { KÄYTTÄJÄNIMI = credentials('es-username') // SSL.com-tilin käyttäjänimi. PASSWORD = credentials('es-password') // SSL.com-tilin salasana. CREDENTIAL_ID = credentials('es-crendential-id') // Tunnus varmenteen allekirjoittamiseen. TOTP_SECRET = credentials('es-totp-secret') // OAuthin TOTP-salaisuus (https://www.ssl.com/how-to/automate-esigner-ev-code-signing) ENVIRONMENT_NAME = 'PROD' // SSL .com-ympäristön nimi. Demotilille se voi olla "TESTI", muuten se on "PROD" }
Löydät kunkin muuttujan arvot Jenkins-koontinäyttösi alta Suojaus> hoitaa Valtakirjaa.
Aseta vaiheet artefaktihakemiston luomiseen, telakointikuvan poistamiseen, .NETin rakentamiseen ja artefaktin koodiallekirjoitukseen
1) Luo artefaktihakemisto tallennetuille ja allekirjoittamattomille artefaktitiedostoille.
stage('Luo artefaktihakemisto') { steps { sh 'mkdir ${TYÖPAIKKA}/artefacts' sh 'mkdir ${TYÖPAIKKA}/paketit' } }2) Vedä Codesigner Docker -kuva Githubin rekisteristä.
stage('Docker Pull Image') { steps { sh 'docker pull ghcr.io/sslcom/codesigner:latest' } }3) Rakenna dotnet-projekti tai -ratkaisu ja kaikki sen riippuvuudet. Kun dll- tai exe-tiedosto on luotu, kopioi "paketit"-kansioon allekirjoittamista varten.
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) Tämä on vaihe, jossa luodut DLL-tiedostot (artefaktit) allekirjoitetaan CodeSignToolilla.
stage('Allekirjoita ja tallenna Dotnet Core DLL -artifact') { steps { sh 'docker run -i --rm --dns 8.8.8.8 --network host --volume ${TYÖPAIKKA}/paketit:/codesign/examples -- volyymi ${WORKSPACE}/artefacts:/codesign/output -e KÄYTTÄJÄNIMI=${KÄYTTÄJÄNIMI} -e SALASANA=${PASSWORD} -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' } post { aina { archiveArtifacts artifacts: "artifacts/Succ.dll",helloWorfull:d } } } } }
Luo Github-repo
Kopioi jokainen push-komentokomponentti Githubissa.Kirjoita komennot koodieditorin uuteen päätteeseen, jotta koodi työnnetään.
Kun olet painanut koodin, siirry Github-tilillesi ja kopioi projektisi URL-linkki.
Siirry Jenkins-tilillesi ja napsauta Luo työpaikka linkki.
Valita Monihaarainen putkisto, aseta projektillesi nimi ja napsauta OK painiketta.
Alle Haaralähteetvalitse mennä ja liitä Github-projektisi URL-linkki.
Vieritä alaspäin Scan Multibranch Pipeline Triggers. Valitse valintaruutu Ajoittain, ellei muuten. Voit valita 2 minuuttia.
Valitse Säästä painiketta.
Palaa Jenkins-tilillesi, napsauta projektiasi ja vahvista, onko putkisto alkanut
Napsauta Jenkins-projektiasi ja valitse Skannaa Multibranch Pipeline nyt kojelaudassa.
Napauta Konsolin ulostulo
Vieritä alas ja tarkista, onnistuiko koodin allekirjoitus
Koko Script
Määrittele putkisto
pipeline { agentti kaikki vaihtoehdot { buildDiscarder(logRotator(numToKeepStr: "5")) disableConcurrentBuilds() }
Asenna Build Tools
työkalut { dotnetsdk "DOTNET_CORE_3.1.24" //https://plugins.jenkins.io/dotnet-sdk }
Luo ympäristömuuttuja
Environment { KÄYTTÄJÄNIMI = credentials('es-username') // SSL.com-tilin käyttäjänimi. PASSWORD = credentials('es-password') // SSL.com-tilin salasana. CREDENTIAL_ID = credentials('es-crendential-id') // Tunnus varmenteen allekirjoittamiseen. TOTP_SECRET = credentials('es-totp-secret') // OAuthin TOTP-salaisuus (https://www.ssl.com/how-to/automate-esigner-ev-code-signing) ENVIRONMENT_NAME = 'PROD' // SSL .com-ympäristön nimi. Demotilille se voi olla "TESTI", muuten se on "PROD" }
Käsikirjoitus rakentamis- ja merkkivaiheisiin
vaiheet { // 1) Luo artefaktihakemisto kaupan allekirjoitetuille ja allekirjoittamattomille artefaktitiedostoille stage('Luo artefaktihakemisto') { steps { sh 'mkdir ${WORKSPACE}/artifacts' sh 'mkdir ${WORKSPACE}/packages' } } / / 2) Vedä Codesigner Docker -kuva Githubin rekisterivaiheesta ('Docker Pull Image') { steps { sh 'docker pull ghcr.io/sslcom/codesigner:latest' } } // 3) Luo dotnet-projekti tai -ratkaisu ja kaikki sen riippuvuuksia. // Kun dll- tai exe-tiedosto on luotu, kopioi paketit-kansioon allekirjoitusvaihe('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) Tämä on vaihe, jossa luodut DLL-tiedostot (artefakti) allekirjoitetaan CodeSignToolilla. stage('Allekirjoita ja tallenna Dotnet Core DLL -artifact') { steps { sh 'docker run -i --rm --dns 8.8.8.8 --network host --volume ${TYÖPAIKKA}/paketit:/codesign/examples -- volyymi ${WORKSPACE}/artefacts:/codesign/output -e KÄYTTÄJÄNIMI=${KÄYTTÄJÄNIMI} -e SALASANA=${PASSWORD} -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' } post { aina { arkistoArtifacts artifacts: "artifacts/Succ.dll",helloWorfull:d } } } } }
Esimerkki Jenkins Pipeline
Katso näyte Jenkins-putkista, jonka olemme luoneet github.com/SSLcom/codesigner-jenkins-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
- Cloud Code Signing -integraatio Azure DevOpsin 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ä.