Környezeti változók
- USERNAME: SSL.com-fiók felhasználóneve. (Kívánt)
- JELSZÓ: SSL.com fiók jelszava (kötelező)
- CREDENTIAL_ID: Hitelesítési adat azonosító a tanúsítvány aláírásához. Ha a credential_id kimarad, és a felhasználónak csak egy eSigner kód aláíró tanúsítványa van, a CodeSignTool alapértelmezés szerint ezt fogja használni. Ha a felhasználónak egynél több kódaláíró tanúsítványa van, akkor ez a paraméter kötelező. (Kívánt)
- TOTP_SECRET: OAuth TOTP titkos. Részletes információkat a címen érhet el https://www.ssl.com/how-to/automate-esigner-ev-code-signing (Kötelező)
- ENVIRONMENT_NAME : 'TESZT' vagy 'PROD' környezet. (Kívánt)
Bemenetek
- bemeneti_fájl_útvonala: Az aláírandó kódobjektum elérési útja. (Kívánt)
- output_dir_path: Könyvtár, ahová az aláírt kódobjektumok íródnak. Ha a kimeneti_útvonal kimarad, a -file_path paraméterben megadott fájl felül lesz írva az aláírt fájllal.
Készítse elő a munkafolyamat összetevőit (.NET-kód DLL-aláírás)
- Hozzon létre egy .circleci mappát
A kódaláírási munkaterületen hozzon létre a .circleci mappa. Alatta hozzon létre a config.yml fájl.
- Állítsa be a CI verziót
verzió: 2.1
- Feladatok meghívása munkafolyamatokon keresztül. A munkafolyamatok összeállítják a futtatandó feladatokat. Az ehhez a folyamathoz tartozó feladatok az alábbiakban vannak konfigurálva
Lásd: https://circleci.com/docs/2.0/configuration-reference/#workflows
munkafolyamatok:
- Írja be a munkafolyamat nevét.
dotnet:
- A munkafolyamaton belül meghatározhatja a futtatni kívánt jobokat.
munkák: - építeni - aláírni: igényel: - építeni
Határozza meg az építési szakaszt
- Határozza meg a munkafolyamatban később meghívandó munkát.
(Lásd: https://circleci.com/docs/2.0/configuration-reference/#jobs)
munkakörök: építkezés:
- Hozzon létre egy környezeti változót
- Környezeti változókat használnak a minták olvashatóbbá tételére. Egy példa aláírási munkafolyamat fenti képernyőképen a PROJECT_NAME, a PROJECT_VERSION és a DOTNET_VERSION opcionálisan kimaradt. Az aláírás még ezekkel a kihagyásokkal is folytatódhat.
környezet: PROJECT_NAME: HelloWorld PROJECT_VERSION: 0.0.1 DOTNET_VERSION: 3.1 MUNKATERÜLET: /home/circleci/projekt
- Docker végrehajtó meghatározása: (https://circleci.com/docs/2.0/executor-types/)
# Megadhat egy képet a Dockerhubról, vagy használhatja a CircleCI fejlesztői központjából származó kényelmi képeink egyikét.
dokkoló: - kép: mcr.microsoft.com/dotnet/sdk:3.1-bullseye
- Helyezze el a munka munkakönyvtárát
munkakönyvtár: /home/circleci/projekt
- Adjon hozzá lépéseket a munkához
Lásd: https://circleci.com/docs/2.0/configuration-reference/#steps
lépések:
- Nézze meg a forráskódot, hogy a munkafolyamat hozzáférhessen.
- pénztár
- Hozzon létre Műtermékkönyvtárat az aláírt és aláíratlan műtermékfájlok tárolásához
- run: name: Create Artifacts Directory parancs: | mkdir -p ${WORKSPACE}/termékek mkdir -p ${WORKSPACE}/csomagok
- Hozzon létre egy dotnet projektet vagy megoldást és annak összes függőségét.
- futtatás: név: Build Dotnet Project Parancs: dotnet build dotnet/${PROJECT_NAME}.csproj -c kiadás
- Műtermék másolása a műtermékek könyvtárába
- Ebben az írásos aláírási példa munkafolyamatban több projekttípus jött létre. Ez az oka annak, hogy a különböző projekttípusok fájljait almappák létrehozásával tárolták. A Dotnet projektek számára létrehoztak egy „dotnet” nevű almappát. A fenti bemutató képernyőképen nem kellett létrehozni egy „dotnet” nevű almappát, így ez nem szerepelt a szkriptben.
- run: name: Artifacts másolása parancs: | cp dotnet/bin/Release/netcoreapp${DOTNET_VERSION}/${PROJECT_NAME}-${PROJECT_VERSION}.dll ${WORKSPACE}/packages/HelloWorld.dll
- Tartsa meg a műterméket a műtermékek könyvtárában aláírás céljából
- persist_to_workspace: root: . útvonalak: - csomagok/*
Határozza meg az aláírási szakaszt
- Határozza meg az aláírási feladatot
jel:
- Hozzon létre egy környezeti változót
- A fenti képernyőképen a jel parancsot közvetlenül a jelszkriptben határozták meg, nem pedig a környezeti változók alatt. Bmás metódusok is tudnak helyesen aláírni a CircleCI-vel.
- Környezeti változókat használnak a minták olvashatóbbá tételére. A példa munkafolyamatának fenti képernyőképen bizonyos változók opcionálisan nem szerepeltek. Az aláírás még ezekkel a kihagyásokkal is folytatódhat.
környezet: ENVIRONMENT_NAME: PROD COMMAND: jel WORKSPACE: /home/circleci/projekt
- Helyezze el a munka munkakönyvtárát a Circle-CI-n
munkakönyvtár: /home/circleci/projekt
- Műterméknév az aláíráshoz
- Az „artifact-name” érték több projekthez használható. Az „artifact-name” paraméter hozzáadásra került, így ugyanaz az aláíró rész használható minden projekttípushoz. Mivel a képernyőképen látható példa egyetlen projekten alapul, ezt nem kellett belefoglalni.
paraméterek: műterméknév: típus: karakterlánc alapértelmezett: ''
- Docker végrehajtó meghatározása:
További információért lásd: https://circleci.com/docs/2.0/executor-types/
Megadhat egy képet a Dockerhubról, vagy használhatja a CircleCI fejlesztői központjából származó kényelmi képeink egyikét.
Ügyeljen arra, hogy frissítse az alábbi Docker-képcímkét az alkalmazás openjdk verziójára.
Az elérhető CircleCI Docker kényelmi képek listája itt érhető el: https://circleci.com/developer/images/image/cimg/openjdk
docker: - kép: cimg/openjdk:17.0.3
- Adjon hozzá lépéseket a munkához
További információért lásd: https://circleci.com/docs/2.0/configuration-reference/#steps
lépések:
- Hozzon létre Műtermékkönyvtárat az aláírt és aláíratlan műtermékfájlok tárolásához
- run: name: Create Artifacts Directory parancs: | mkdir -p ${WORKSPACE}/termékek mkdir -p ${WORKSPACE}/csomagok
- Csatolás a munkaterülethez a műtermékfájl eléréséhez
- attach_workspace: at: /home/circleci/projekt
- A Docker for CodeSigner engedélyezése a Circle-CI-n
- setup_remote_docker: név: A Remote Docker verziójának beállítása: 19.03.13 docker_layer_caching: true
- Húzza ki a Codesigner Docker képét a Github Registry-ből
- futtatás: név: Docker Pull Image parancs: | docker pull ghcr.io/sslcom/codesigner:legújabb docker pull alpine:3.4
- Írja be azt a lépést, ahol a mellékterméket aláírja a CodeSignTool segítségével.
- run: name: Sign Artifact File parancs: | docker Create -v /codesign/packages --name codesign-in alpine:3.4 /bin/true docker Create -v /codesign/artifacts --name codesign-out alpin: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- out -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}/artifacts/<< paraméterek.terméknév >>
- Írja be a műtermék feltöltésének lépését a munkafolyamatból, amely lehetővé teszi az adatok megosztását a munkák között, és az adatok tárolását a munkafolyamat befejezése után
- store_artifacts: név: Aláírt fájlok feltöltésének elérési útja: /home/circleci/project/artifacts/<< paraméterek.terméknév >> cél: << paraméterek.terméknév >>
Hozzon létre egy új tárolót a parancssorban
Másolja ki a push parancs összetevőit a projekt helyéről a GitHub-fiókjában
Tartalmazza az összes push parancs összetevőt a szerkesztőben
Hozzon létre egy projektet a CircleCI-n a GitHubba integrált adattár segítségével
Határozza meg az összes környezeti változót
Amíg a projekt fut, kattintson a Projektbeállítások gombra, majd a Környezeti változók elemre a változók meghatározásához
Helyezze el az egyes változók értékeit
Kattintson az Környezeti változó hozzáadása gombot a projekthez szükséges összes változó nevének és értékének hozzáadásához.
Várja meg, amíg a projekt megépül
Kattintson a Megmarad a munkaterületre elemre
Várjon rövid ideig, amíg a munkaterület-archívum sikeresen feltöltődik.
Kattintson az aláírás gombra
Várja meg, amíg a Remote Docker be van állítva
A fájl méretétől függően ez egy percnél tovább tarthat
Várja meg a műtárgyak aláírását
Kattints Mesterséges lap
Ha rákattintasz Mesterséges, akkor láthatja a sikeresen kóddal aláírt fájlt. A sikeres kódaláírásról a CircleCI is értesít.
Minta CircleCI Pipeline
Tekintse meg az általunk létrehozott CircleCI-folyamat mintáját github.com/SSLcom/codesigner-circleci-sampleEgyéb CI/CD távoli aláírás integrációs útmutatók
- Cloud Code Signing integráció a GitHub-műveletekkel
- Cloud Code Signing integráció a GitLab CI-vel
- Cloud Code Signing integráció a Jenkins CI-vel
- Cloud Code Signing integráció a Travis CI-vel
- Cloud Code Signing integráció az Azure DevOps szolgáltatással
- Cloud Code Signing integráció a BitBucket segítségével
- 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.