ympäristömuuttujat
- USERNAME: SSL.com-tilin käyttäjätunnus. (Vaaditaan)
- SALASANA: SSL.com-tilin salasana (pakollinen)
- CREDENTIAL_ID: Tunnus varmenteen allekirjoittamista varten. Jos credential_id jätetään pois ja käyttäjällä on vain yksi eSigner-koodin allekirjoitusvarmenne, CodeSignTool käyttää oletuksena sitä. Jos käyttäjällä on useampi kuin yksi koodin allekirjoitusvarmenne, tämä parametri on pakollinen. (Vaaditaan)
- TOTP_SECRET: OAuthin TOTP-salaisuus. Voit tutustua yksityiskohtaisiin tietoihin osoitteessa https://www.ssl.com/how-to/automate-esigner-ev-code-signing (Pakollinen)
- ENVIRONMENT_NAME : 'TEST' tai 'PROD' -ympäristö. (Vaaditaan)
Tulot
- input_file_polku: Allekirjoitettavan koodiobjektin polku. (Vaaditaan)
- output_dir_path: Hakemisto, johon allekirjoitetut koodiobjektit kirjoitetaan. Jos lähtöpolku jätetään pois, kohdassa -file_path määritetty tiedosto korvataan allekirjoitetulla tiedostolla.
Valmistele työnkulun osat (.NET-koodin DLL-allekirjoitus)
- Luo .circleci-kansio
Luo koodin allekirjoitustyötilaan a .circleci-kansio. Luo sen alle a config.yml-tiedosto.
- Aseta CI-versio
versio: 2.1
- Kutsu töitä työnkulkujen kautta. Työnkulut järjestävät joukon suoritettavia töitä. Tämän putkilinjan työt on määritetty alla
Katso: https://circleci.com/docs/2.0/configuration-reference/#workflows
työnkulkuja:
- Kirjoita työnkulun nimi.
dotnet:
- Työnkulun sisällä määrität työt, jotka haluat suorittaa.
työt: - rakentaa - allekirjoittaa: vaatii: - rakentaa
Määritä rakennusvaihe
- Määritä työ, joka kutsutaan myöhemmin työnkulussa.
(Katso: https://circleci.com/docs/2.0/configuration-reference/#jobs)
työtehtävät: rakentaa:
- Luo ympäristömuuttuja
- Ympäristömuuttujia käytetään näytteiden luettavuuden parantamiseksi. Yllä olevassa kuvakaappauksessa esimerkin allekirjoituksen työnkulusta PROJECT_NAME, PROJECT_VERSION ja DOTNET_VERSION jätettiin valinnaisesti pois. Allekirjoitus voi silti jatkua näilläkin puutteilla.
ympäristö: PROJECT_NAME: HelloWorld PROJECT_VERSION: 0.0.1 DOTNET_VERSION: 3.1 TYÖTILA: /home/circleci/projekti
- Määritä Docker-suoritin: (https://circleci.com/docs/2.0/executor-types/)
# Voit määrittää kuvan Dockerhubista tai käyttää jotakin CircleCI:n kehittäjäkeskuksen mukavuuskuvista.
docker: - kuva: mcr.microsoft.com/dotnet/sdk:3.1-bullseye
- Aseta työn työhakemisto
työhakemisto: /home/circleci/projekti
- Lisää vaiheita työhön
Katso: https://circleci.com/docs/2.0/configuration-reference/#steps
vaiheet:
- Tarkista lähdekoodi, jotta työnkulku voi käyttää sitä.
- Tarkista
- Luo Artefact Directory tallentaaksesi allekirjoitetut ja allekirjoittamattomat artefaktitiedostot
- suorita: nimi: Luo Artefacts Directory -komento: | mkdir -p ${TYÖPAIKKA}/artefacts mkdir -p ${TYÖPAIKKA}/paketit
- Rakenna dotnet-projekti tai -ratkaisu ja kaikki sen riippuvuudet.
- suorita: nimi: Build Dotnet Project Komento: dotnet build dotnet/${PROJECT_NAME}.csproj -c Release
- Kopioi artefakti esinehakemistoon
- Tässä kirjallisen allekirjoituksen esimerkkityönkulussa luotiin useita projektityyppejä. Tästä syystä eri projektityyppien tiedostot säilytettiin luomalla alikansioita. Dotnet-projekteille luotiin alikansio nimeltä "dotnet". Yllä olevassa demo-kuvakaappauksessa ei tarvinnut luoda alikansiota nimeltä "dotnet", joten sitä ei sisällytetty skriptiin.
- suorita: nimi: Kopioi esineet -komento: | cp dotnet/bin/Release/netcoreapp${DOTNET_VERSION}/${PROJECT_NAME}-${PROJECT_VERSION}.dll ${WORKSPACE}/packages/HelloWorld.dll
- Säilytä artefakti artefaktihakemistoon allekirjoittamista varten
- persist_to_workspace: root: . polut: - paketit/*
Määritä allekirjoitusvaihe
- Määrittele allekirjoitustyö
merkki:
- Luo ympäristömuuttuja
- Yllä olevassa kuvakaappauksessa merkkikomento määritettiin suoraan merkkikomentosarjassa, ei ympäristömuuttujien alla. Bmuut menetelmät voivat allekirjoittaa oikein CircleCI:n kanssa.
- Ympäristömuuttujia käytetään näytteiden luettavuuden parantamiseksi. Esimerkkityönkulun yllä olevassa kuvakaappauksessa joitain muuttujia ei valinnaisesti sisällytetty. Allekirjoitus voi silti jatkua näilläkin puutteilla.
ympäristö: ENVIRONMENT_NAME: PROD COMMAND: merkki TYÖPAIKKA: /home/circleci/projekti
- Aseta työn työhakemisto Circle-CI:lle
työhakemisto: /home/circleci/projekti
- Artefaktin nimi allekirjoitusta varten
- 'Artefaktin-nimi'-arvo on vaihtoehto useille projekteille. Parametri 'artefact-name' lisättiin, jotta samaa allekirjoitusosaa voidaan käyttää kaikille projektityypeille. Koska kuvakaappauksen esimerkki perustuu yhteen projektiin, sitä ei tarvinnut sisällyttää.
parametrit: artefaktin-nimi: tyyppi: merkkijono oletus: ''
- Määritä Docker-suorituskyky:
Katso lisätiedot: https://circleci.com/docs/2.0/executor-types/
Voit määrittää kuvan Dockerhubista tai käyttää jotakin CircleCI:n kehittäjäkeskuksen mukavuuskuvista.
Muista päivittää alla oleva Docker-kuvatunniste sovelluksesi openjdk-versioon.
Luettelo saatavilla olevista CircleCI Docker Convenience -kuvista on saatavilla täältä: https://circleci.com/developer/images/image/cimg/openjdk
docker: - kuva: cimg/openjdk:17.0.3
- Lisää vaiheita työhön
Katso lisätiedot: https://circleci.com/docs/2.0/configuration-reference/#steps
vaiheet:
- Luo Artefact Directory tallentaaksesi allekirjoitetut ja allekirjoittamattomat artefaktitiedostot
- suorita: nimi: Luo Artefacts Directory -komento: | mkdir -p ${TYÖPAIKKA}/artefacts mkdir -p ${TYÖPAIKKA}/paketit
- Liitä työtilaan, jotta voit käyttää artefaktitiedostoa
- attach_workspace: osoitteessa: /home/circleci/projekti
- Ota Docker for CodeSigner käyttöön Circle-CI:ssä
- setup_remote_docker: nimi: Asenna etätelakkaversio: 19.03.13 docker_layer_caching: true
- Vedä Codesigner Docker -kuva Githubin rekisteristä
- suorita: nimi: Docker Pull Image -komento: | docker pull ghcr.io/sslcom/codesigner: uusin docker pull alpine: 3.4
- Kirjoita vaihe, jossa artefakti allekirjoitetaan CodeSignToolilla.
- suorita: nimi: Sign Artefact File -komento: | 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- ulos -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: ${COMMAND} -input_file_path=/codesign/packages/<< parameters.artifact-name >> -output_dir_path=/codesign/artifacts docker cp codesign-out:/codesign/artifacts/<< parametrit.artifact-nimi >> ${ TYÖPAIKKA}/artefacts/<< parametrit.artifact-nimi >>
- Kirjoita vaihe, jolla artefaktisi ladataan työnkulusta, jolloin voit jakaa tietoja töiden välillä ja tallentaa tietoja, kun työnkulku on valmis
- store_artifacts: nimi: Lataa allekirjoitetut tiedostot polku: /home/circleci/project/artifacts/<< parametrit.artifact-nimi >> kohde: << parametrit.artifact-nimi >>
Luo uusi arkisto komentoriville
Kopioi push-komentokomponentit projektisi sijainnista GitHub-tililläsi
Sisällytä kaikki push-komentokomponentit editoriin
Määritä projekti CircleCI:ssä käyttämällä GitHubiin integroitua arkistoa
Määritä kaikki ympäristömuuttujat
Kun projekti on käynnissä, napsauta Projektin asetukset -painiketta ja sen jälkeen Ympäristömuuttujat määrittääksesi muuttujat
Aseta arvot kullekin muuttujalle
Valitse Lisää ympäristömuuttuja -painiketta lisätäksesi kaikkien projektiin tarvittavien muuttujien nimet ja arvot.
Odota projektin valmistumista
Napsauta Jatkuu työtilaan
Odota hetki, kunnes työtilan arkisto on ladattu onnistuneesti.
Napsauta allekirjoituspainiketta
Odota, että Remote Docker on asennettu
Se voi kestää yli minuutin tiedoston koosta riippuen
Odota, että artefaktit allekirjoitetaan
Napauta Esineet kieleke
Jos napsautat Esineet, näet tiedoston, jonka koodi on allekirjoitettu onnistuneesti. CircleCI ilmoittaa sinulle myös onnistuneesta koodin allekirjoittamisesta.
Esimerkki CircleCI-putkilinjasta
Katso esimerkki CircleCI-putkista, jonka olemme luoneet github.com/SSLcom/codesigner-circleci-sampleMuut CI/CD-etäallekirjoituksen integrointioppaat
- Cloud Code Signing -integraatio GitHub Actionsin kanssa
- Cloud Code Signing -integraatio GitLab CI:n kanssa
- Pilvikoodin allekirjoituksen integrointi Jenkins CI:n kanssa
- Cloud Code Signing -integrointi Travis CI:n kanssa
- Cloud Code Signing -integraatio Azure DevOpsin kanssa
- Cloud Code Signing -integrointi BitBucketin 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ä.