Keskkonna muutujad
- KASUTAJATUNNUSE: SSL.com-i konto kasutajanimi. (Nõutud)
- PASSWORD: SSL.com konto parool (nõutav)
- CREDENTIAL_ID: sertifikaadi allkirjastamise mandaadi ID. Kui credential_id on välja jäetud ja kasutajal on ainult üks eSigneri koodi allkirjastamise sertifikaat, kasutab CodeSignTool vaikimisi seda. Kui kasutajal on rohkem kui üks koodi allkirjastamise sertifikaat, on see parameeter kohustuslik. (Nõutud)
- TOTP_SECRET: OAuthi TOTP saladus. Üksikasjalikule teabele pääsete juurde aadressil https://ssl.com/how-to/automate-esigner-ev-code-signing (Nõutav)
- ENVIRONMENT_NAME : 'TEST' või 'PROD' keskkond. (Nõutud)
Sisendid
- sisendfaili_tee: allkirjastatava koodiobjekti tee. (Nõutud)
- väljundi_kataloogi_tee: kataloog, kuhu kirjutatakse allkirjastatud koodiobjekt(id). Kui väljundi_tee jäetakse välja, kirjutatakse failitee määratud fail allkirjastatud failiga üle.
Valmistage ette töövoo komponendid (.NET-koodi DLL-i allkirjastamine)
- Looge kaust .circleci
Looge oma koodi allkirjastamise tööruumis a .circleci kaust. Selle alla looge a faili config.yml.
- Määrake CI versioon
versioon: 2.1
- Kutsuge töid töövoogude kaudu. Töövood korraldavad käivitatavate tööde komplekti. Selle torujuhtme tööd on konfigureeritud allpool
Vaata: https://circleci.com/docs/2.0/configuration-reference/#workflows
töövood:
- Kirjutage töövoo nimi.
dotnet:
- Töövoo sees saate määratleda tööd, mida soovite käivitada.
töökohad: - ehitama - allkirjastama: nõuab: - ehitama
Määratlege ehitusetapp
- Määrake töö, mida töövoos hiljem kutsuda.
(Vaadake: https://circleci.com/docs/2.0/configuration-reference/#jobs)
Töökohad: ehitamine:
- Looge keskkonnamuutuja
- Näidiste loetavamaks muutmiseks kasutatakse keskkonnamuutujaid. Allkirjastamise töövoo näite ülaltoodud ekraanipildil jäeti PROJECT_NAME, PROJECT_VERSION ja DOTNET_VERSION valikuliselt välja. Allkirjastamine võib jätkuda isegi nende väljajätmiste korral.
keskkond: PROJECT_NAME: HelloWorld PROJECT_VERSION: 0.0.1 DOTNET_VERSION: 3.1 TÖÖRUUM: /home/circleci/projekt
- Dockeri täitja määratlemine: (https://circleci.com/docs/2.0/executor-types/)
# Saate määrata pildi Dockerhubist või kasutada mõnda meie mugavuspiltidest CircleCI arendajakeskusest.
dokkija: - pilt: mcr.microsoft.com/dotnet/sdk:3.1-bullseye
- Asetage töö jaoks töökataloog
töökataloog: /home/circleci/projekt
- Lisage tööle samme
Vaadake: https://circleci.com/docs/2.0/configuration-reference/#steps
sammud:
- Vaadake lähtekoodi, et töövoog sellele juurde pääseks.
- kassasse
- Looge artefaktide kataloog allkirjastatud ja allkirjastamata artefaktifailide salvestamiseks
- run: name: Loo artefaktide kataloog käsk: | mkdir -p ${WORKSPACE}/artefaktid mkdir -p ${WORKSPACE}/paketid
- Koostage dotneti projekt või lahendus ja kõik selle sõltuvused.
- käivitage: nimi: Build Dotnet Project Käsk: dotnet build dotnet/${PROJECT_NAME}.csproj -c väljalase
- Kopeerige artefakt artefaktide kataloogi
- Selles kirjaliku allkirjastamise näite töövoos loodi mitu projektitüüpi. Seetõttu säilitati erinevate projektitüüpide faile, luues alamkaustad. Dotneti projektide jaoks loodi alamkaust nimega 'dotnet'. Ülaltoodud demo ekraanipildil ei olnud vaja luua alamkausta nimega "dotnet", nii et see ei sisaldunud skriptis.
- käivitage: nimi: käsk Kopeeri artefaktid: | cp dotnet/bin/Release/netcoreapp${DOTNET_VERSION}/${PROJECT_NAME}-${PROJECT_VERSION}.dll ${WORKSPACE}/packages/HelloWorld.dll
- Säilitage artefakt allkirjastamiseks artefaktide kataloogi
- persist_to_workspace: root: . teed: - paketid/*
Määratlege allkirjastamise etapp
- Määratlege allkirjastamistöö
märk:
- Looge keskkonnamuutuja
- Ülaltoodud ekraanipildil määrati märgikäsk otse märgiskriptis, mitte keskkonnamuutujate all. Bmuud meetodid saavad CircleCI-ga õigesti allkirjastada.
- Näidiste loetavamaks muutmiseks kasutatakse keskkonnamuutujaid. Näidistöövoo ülaltoodud ekraanipildil ei olnud mõningaid muutujaid valikuliselt kaasatud. Allkirjastamine võib jätkuda isegi nende väljajätmiste korral.
keskkond: ENVIRONMENT_NAME: PROD COMMAND: märk WORKSPACE: /home/circleci/projekt
- Asetage töö kataloog Circle-CI-sse
töökataloog: /home/circleci/projekt
- Artefakti nimi allkirjastamiseks
- Väärtus 'artefact-name' on valik mitme projekti jaoks. Parameeter 'artefact-name' lisati, et sama allkirjastamisosa saaks kasutada kõigi projektitüüpide jaoks. Kuna ekraanipildil olev näide põhineb ühel projektil, ei olnud seda vaja lisada.
parameetrid: artefakti nimi: tüüp: string vaikimisi: ''
- Dockeri täitja määratlemine:
Lisateabe saamiseks vaadake: https://circleci.com/docs/2.0/executor-types/
Saate määrata pildi Dockerhubist või kasutada mõnda meie mugavuspiltidest CircleCI arendajakeskusest.
Värskendage kindlasti allolevat Dockeri pildimärgendit oma rakenduse openjdk versiooniks.
Saadaolevate CircleCI Dockeri mugavuspiltide loend on saadaval siin: https://circleci.com/developer/images/image/cimg/openjdk
dokkija: - pilt: cimg/openjdk:17.0.3
- Lisage tööle samme
Lisateabe saamiseks vaadake: https://circleci.com/docs/2.0/configuration-reference/#steps
sammud:
- Looge artefaktide kataloog allkirjastatud ja allkirjastamata artefaktifailide salvestamiseks
- run: name: Loo artefaktide kataloog käsk: | mkdir -p ${WORKSPACE}/artefaktid mkdir -p ${WORKSPACE}/paketid
- Manustage artefaktifailile juurdepääsemiseks tööruumi
- attach_workspace: aadressil: /home/circleci/projekt
- Luba Docker for CodeSigner rakenduses Circle-CI
- setup_remote_doccker: nimi: Seadista Remote Docker versioon: 19.03.13 docker_layer_caching: true
- Tõmmake Codesigner Dockeri pilt Githubi registrist
- käivitage: nimi: Docker Pull Image käsk: | docker pull ghcr.io/sslcom/codesigner: uusim docker pull alpine: 3.4
- Kirjutage samm, kus artefakt CodeSignTooliga allkirjastatakse.
- käivitage: nimi: Sign Artefact File käsk: | docker create -v /codesign/packages --name codesign-in alpine:3.4 /bin/true docker create -v /codesign/artifacts --name codesign-out alpine:3.4 /bin/true docker cp ${WORKSPACE}/packages /<< parameters.artifact-name >> codesign-in:/codesign/packages docker run -i --rm --dns 8.8.8.8 --network host --volumes-from codesign-in --volumes-from codesign- välja -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: ${COMMAND} -input_file_path=/codesign/packages/<< parameters.artifact-name >> -output_dir_path=/codesign/artifacts docker cp codesign-out:/codesign/artifacts/<< parameters.artifact-name >> ${ WORKSPACE}/artefacts/<< parameetrid.artefact-name >>
- Kirjutage oma artefakti töövoost üleslaadimise samm, mis võimaldab teil tööde vahel andmeid jagada ja andmeid salvestada, kui töövoog on lõppenud
- store_artifacts: nimi: Laadi alla allkirjastatud failid tee: /home/circleci/project/artifacts/<< parameetrid.artifact-nimi >> sihtkoht: << parameetrid.artifact-name >>
Looge käsureal uus hoidla
Kopeerige tõukekäsu komponendid oma projekti asukohast oma GitHubi kontole
Kaasake oma redaktorisse kõik tõukekäsu komponendid
Seadistage CircleCI-s projekt, kasutades GitHubiga integreeritud hoidlat
Määratlege kõik keskkonnamuutujad
Kui projekt töötab, klõpsake muutujate määratlemiseks nuppu Projekti sätted ja seejärel Keskkonnamuutujad
Asetage iga muutuja väärtused
kliki Lisa keskkonnamuutuja nuppu, et lisada kõigi projekti jaoks vajalike muutujate nimed ja väärtused.
Oodake, kuni projekt valmib
Klõpsake nuppu Jääb tööruumi
Oodake korraks, kuni tööruumi arhiivi üleslaadimine õnnestub.
Klõpsake allkirja nuppu
Oodake, kuni Remote Docker on seadistatud
Sõltuvalt faili suurusest võib selleks kuluda rohkem kui minut
Oodake, kuni artefaktid on allkirjastatud
Click Esemeid tab
Kui klõpsate Esemeid, näete faili, mille koodiga allkirjastasite edukalt. CircleCI teavitab teid ka edukast koodi allkirjastamisest.
CircleCI torujuhtme näidis
Tutvuge CircleCI torujuhtme näidisega, mille oleme loonud github.com/SSLcom/codesigner-circleci-sampleMuud CI/CD kaugallkirjastamise integreerimise juhendid
- Pilvekoodi allkirjastamise integreerimine GitHubi toimingutega
- Pilvekoodi allkirjastamise integreerimine GitLab CI-ga
- Pilvekoodi allkirjastamise integreerimine Jenkins CI-ga
- Pilvekoodi allkirjastamise integreerimine Travis CI-ga
- Pilvekoodi allkirjastamise integreerimine Azure DevOpsiga
- Pilvekoodi allkirjastamise integreerimine BitBucketiga
- Pilvekoodi allkirjastamise automatiseerimine CI/CD teenustega
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.