Pilvekoodi allkirjastamise integreerimine Jenkins CI-ga

See on juhend selle kohta, kuidas Jenkinsis eSigner CodeSignTooli abil automaatset koodi allkirjastamist. CodeSignTool on käsurea utiliit, mis sobib suure mahuga allkirjastamiseks ja integreerub sujuvalt erinevate CI/CD platvormidega. See on osa eSignerist: meie kaugallkirjastamisteenusest, mis pakub tõhusat, turvalist ja kasutajasõbralikku lähenemist ettevõtte koodiallkirjastamisele.

SSL.com-d EV Koodiallkirjastamine Sertifikaadid aitab kaitsta teie koodi volitamata võltsimise ja kompromisside eest kõrgeima valideerimistasemega ning on saadaval võimalikult lühikese aja eest $ 249 aastas.

OSTKE OMA SSL.COM EV KOODI ALLKIRJASERTIFIKAAT

Looge Jenkinsi fail ja määrake oma koodiredaktoris konveier

torujuhe { agent mis tahes valikud { buildDiscarder(logRotator(numToKeepStr: "5")) disableConcurrentBuilds()}

Seadistage oma koodiredaktoris .NET-tööriist, konfigureerides Jenkinsi

kliki Jenkinsi haldamine vahekaarti oma Jenkinsi armatuurlaual.

Kerige lehte alla ja klõpsake nuppu Global Tool Configuration.

Kerige alla ja klõpsake nuppu .NET SDK installid.

Kopeerige .NET SDK väärtus ja kleepige see oma koodiredaktorisse.


tööriistad { dotnetsdk "DOTNET_CORE_3.1.24" }

Minge saidile plugins.jenkins.io ja installige .NET SDK pistikprogramm

alla Jenkinsi haldamine kontrollige oma juhtpaneelil Halda pistikprogramme et kontrollida, kas .NET SDK pistikprogramm on installitud.

Pärast pistikprogrammi installimise kinnitamist minge tagasi jaotisse .NET SDK INSTALLATIONS ja veenduge, et .NET SDK pistikprogrammi õige versioon ja väljalaske üksikasjad on määratud. Jätkake klõpsamisega Säästa nuppu.

Määrake oma koodiredaktoris keskkonnamuutujad

keskkond { USERNAME = credentials('es-username') // SSL.com konto kasutajanimi. PASSWORD = credentials('es-password') // SSL.com konto parool. CREDENTIAL_ID = credentials('es-credential-id') // Allkirjastamissertifikaadi mandaadi ID. TOTP_SECRET = credentials('es-totp-secret') // OAuth TOTP saladus (https://ssl.com/how-to/automate-esigner-ev-code-signing) ENVIRONMENT_NAME = 'PROD' // SSL.com keskkonna nimi. Demokonto puhul võib see olla 'TEST', vastasel juhul on see 'PROD' }

Iga muutuja väärtused leiate oma Jenkinsi armatuurlaualt Turvalisus> juhtima Volikirjad.




Määrake artefaktide kataloogi loomise, dokkimiskujutise tõmbamise, .NET-i loomise ja artefakti koodi allkirjastamise etapid

        1) Looge allkirjastatud ja allkirjastamata artefaktifailide jaoks artefaktikataloog.

 stage('Loo artefaktide kataloog') { steps { sh 'mkdir ${WORKSPACE}/artefacts' sh 'mkdir ${WORKSPACE}/paketid' } }

        2) Tõmmake Codesigner Dockeri pilt Githubi registrist.

stage('Docker Pull Image') { steps { sh 'docker pull ghcr.io/sslcom/codesigner:latest' } }

        3) Ehitage dotneti projekt või lahendus ja kõik selle sõltuvused. Pärast dll- või exe-faili loomist kopeerige allkirjastamiseks pakettide kausta.

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) See on samm, kus loodud DLL-failid (artefaktid) allkirjastatakse CodeSignTooliga.

stage('Sign and Save Dotnet Core DLL Artifact') { steps { sh 'docker run -i --rm --dns 8.8.8.8 --network host --volume ${WORKSPACE}/packages:/codesign/examples -- köide ${WORKSPACE}/artefacts:/codesign/output -e USERNAME=${USERNAME} -e PASSWORD=${PASSWORD} -e CREDENTIAL_ID=${CREDENTIAL_ID} -e TOTP_SECRET=${TOTP_SECRET} -e ENVIRONMENT_NAME=${ ENVIRONMENT_NAME} ghcr.io/sslcom/codesigner: uusim märk -input_file_path=/codesign/examples/HelloWorld.dll -output_dir_path=/codesign/output' } post { always { archiveArtifacts artifacts: "artifacts.dll",HelloWorlfull:d } } } } }

SSL.com-d EV Koodiallkirjastamine Sertifikaadid aitab kaitsta teie koodi volitamata võltsimise ja kompromisside eest kõrgeima valideerimistasemega ning on saadaval võimalikult lühikese aja eest $ 249 aastas.

OSTKE OMA SSL.COM EV KOODI ALLKIRJASERTIFIKAAT


Looge Githubi repo

Kopeerige kõik tõukekäsu komponendid Githubis.

Koodi surumiseks kirjutage käsud oma koodiredaktoris uude terminali.

Pärast koodi vajutamist minge oma Githubi kontole ja kopeerige oma projekti URL-i link.

Liikuge oma Jenkinsi kontole ja klõpsake nuppu Loo töökoht link.

Vali Mitmeharuline torujuhemäärake oma projektile nimi ja klõpsake nuppu OK nuppu.

alla Filiaalide allikadvalige Git ja kleepige oma Githubi projekti URL-i link.

Kerige alla kuni Mitmeharuliste torujuhtmete käivitajate skannimine. Märkige ruut Jookse perioodiliselt, kui mitte teisiti. Saate valida 2 minuti.

kliki Säästa nuppu.


Minge tagasi oma Jenkinsi kontole, klõpsake oma projektil ja kinnitage, kas torujuhe on alanud

Klõpsake oma Jenkinsi projektil ja valige Skaneerige kohe mitmeharuline torujuhe juhtpaneelil.

Click Konsooli väljund

Kerige alla ja kontrollige, kas koodi allkirjastamine on edukas

Kogu skript

Märkus. Allkirjastamise sujuvaks kulgemiseks parandage kindlasti skriptis trükivead või ekslikud reavahetused.

Määratlege torujuhe

torujuhe { agent mis tahes valikud { buildDiscarder(logRotator(numToKeepStr: "5")) disableConcurrentBuilds()}

Installige ehitustööriistad

tööriistad { dotnetsdk "DOTNET_CORE_3.1.24" //https://plugins.jenkins.io/dotnet-sdk }

Looge keskkonnamuutuja

keskkond { USERNAME = credentials('es-username') // SSL.com konto kasutajanimi. PASSWORD = credentials('es-password') // SSL.com konto parool. CREDENTIAL_ID = credentials('es-credential-id') // Allkirjastamissertifikaadi mandaadi ID. TOTP_SECRET = credentials('es-totp-secret') // OAuth TOTP saladus (https://ssl.com/how-to/automate-esigner-ev-code-signing) ENVIRONMENT_NAME = 'PROD' // SSL.com keskkonna nimi. Demokonto puhul võib see olla 'TEST', vastasel juhul on see 'PROD' }

Ehitamise ja märgistamise etappide skript

etapid { // 1) Looge poe allkirjastatud ja allkirjastamata artefaktifailide jaoks artefaktikataloog stage('Loo artefaktide kataloog') { steps { sh 'mkdir ${WORKSPACE}/artifacts' sh 'mkdir ${WORKSPACE}/packages' } } / / 2) Tõmmake Codesigner Dockeri pilt Githubi registri etapist ('Docker Pull Image') { steps { sh 'docker pull ghcr.io/sslcom/codesigner:latest' } } // 3) Looge dotneti projekt või lahendus ja kõik selle sõltuvused. // Pärast dll- või exe-faili loomist kopeerige allkirjastamiseks kausta paketid ('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) See on samm, kus loodud DLL-failid (artefaktid) allkirjastatakse CodeSignTooliga. stage('Sign and Save Dotnet Core DLL Artifact') { steps { sh 'docker run -i --rm --dns 8.8.8.8 --network host --volume ${WORKSPACE}/packages:/codesign/examples -- köide ${WORKSPACE}/artefacts:/codesign/output -e USERNAME=${USERNAME} -e PASSWORD=${PASSWORD} -e CREDENTIAL_ID=${CREDENTIAL_ID} -e TOTP_SECRET=${TOTP_SECRET} -e ENVIRONMENT_NAME=${ ENVIRONMENT_NAME} ghcr.io/sslcom/codesigner: uusim märk -input_file_path=/codesign/examples/HelloWorld.dll -output_dir_path=/codesign/output' } post { always { arhiivArtifacts artifacts: "artifacts.dll",HelloWorfull:d } } } } }
Võite viidata SSL.com Githubi hoidla, mis sisaldab dockeri kujutise lähtekoode ja kirjeldab selle kasutamist: https://github.com/SSLcom/ci-images 

Näidis Jenkinsi torujuhe

Vaadake Jenkinsi torujuhtme näidist, mille oleme loonud github.com/SSLcom/codesigner-jenkins-sample

Muud kaugallkirjastamise integreerimise juhendid

Kas vajate kohandatud lahendusi? 

Tänu oma asjatundlikele teadmistele ja viietärnilisele tugipersonalile oleme valmis teiega koostööd tegema kohandatud lahenduste või ettevõtte tasemel suuremahuliste allkirjastamise allahindluste kallal. Täitke allolev vorm ja me võtame teiega ühendust.

Olge kursis ja turvaline

SSL.com on ülemaailmne küberturvalisuse liider, PKI ja digitaalsed sertifikaadid. Registreeruge, et saada valdkonna uusimaid uudiseid, näpunäiteid ja tooteteateid SSL.com.

SSL.com

Meile meeldiks teie tagasiside

Osalege meie küsitluses ja andke meile teada oma mõtted oma hiljutise ostu kohta.

Privaatsuse ülevaade
SSL.com

See veebisait kasutab küpsiseid, et saaksime pakkuda teile parimat võimalikku kasutajakogemust. Präänikuandmeid salvestatakse teie brauseris ja see täidab selliseid funktsioone nagu teie veebisaidile naasmisel teie äratundmine ja meie meeskonna abistamine, millised veebisaidi jaotised teile kõige huvitavamad ja kasulikud on.

Lisateabe saamiseks lugege meie lehte Präänik ja privaatsusavaldus.

Kolmanda osapoole küpsised

See veebisait kasutab Google Analytics & Statcounter anonüümse teabe, näiteks saidi külastajate arvu ja kõige populaarsemate lehtede, kogumiseks.

Nende küpsiste lubamine aitab meil oma veebisaiti paremaks muuta.

Näita detaile