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.
.NET Code DLL aláírási példa munkafolyamat
Hozzon létre egy yml fájlt
Csoportosítsa a munkákat szakaszokba. Az egyik szakaszban lévő összes feladatot be kell fejezni a következő szakasz végrehajtása előtt.
szakaszai: - építés - jel
A környezeti változók globális meghatározása. A feladat szintű tulajdonság felülírja a globális változókat.
- 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 a PROJECT_NAME, a PROJECT_VERSION és a DOTNET_VERSION opcionálisan kimaradt. Az aláírás ezekkel a hiányosságokkal továbbra is folytatódhat.
- Az ENVIRONMENT_NAME alatt helyezze el a „TEST” értéket a teszt-aláíráshoz, és a „PROD”-t az élő aláíráshoz.
változók: PROJECT_NAME: "HelloWorld" PROJECT_VERSION: "0.0.1" DOTNET_VERSION: "3.1" ENVIRONMENT_NAME: "PROD"
Definiálja a Építési színpad
Az alábbiakban a dll melléktermék létrehozására vonatkozó feladat meghatározása található
build-dotnet:
- Határozza meg, hogy a munka melyik szakaszban fusson.
szakasz: épít
- Adja meg a használni kívánt kép teljes nevét. Szükség esetén tartalmaznia kell a Registry részt.
kép: mcr.microsoft.com/dotnet/sdk:3.1-bullseye
- Határozza meg azokat a szkripteket, amelyeknek *a munka előtt* kell futniuk. Beállítható globálisan vagy munkánként.
before_script: - mkdir -p ${CI_PROJECT_DIR}/termékek - mkdir -p ${CI_PROJECT_DIR}/csomagok
- Határozza meg a Runner által végrehajtott Shell-szkripteket. DLL műtermék létrehozása
script: - dotnet build dotnet/${PROJECT_NAME}.csproj -c kiadás - cp dotnet/bin/Release/netcoreapp${DOTNET_VERSION}/${PROJECT_NAME}-${PROJECT_VERSION}.dll ${CI_PROJECT_DIR}/packages/${ PROJECT_NAME}.dll
- Adja meg azon fájlok és könyvtárak listáját, amelyeket csatolni kell a feladathoz, ha az sikeres.
- Az "expire_in' tulajdonság lehetővé teszi a fájl törlését egy bizonyos idő elteltével. Használata opcionális. Ez az oka annak, hogy a fenti példa munkafolyamat képernyőképe nem mutatja ezt a tulajdonságot.
melléktermékek: elérési utak: - ${CI_PROJECT_DIR}/packages/HelloWorld.dll expire_in: 5 perc
Határozza meg a Jel szakaszt
Az alábbiakban a dll melléktermék aláírására vonatkozó feladat meghatározása található
sign-dotnet-artifacts:
- Határozza meg, hogy a munka melyik szakaszban fusson.
szakasz: jel
- Adja meg a használni kívánt kép teljes nevét. Szükség esetén tartalmaznia kell a Registry részt.
kép: docker:19.03.0
- Szolgáltatások meghatározása. Ez hasonló az „image” tulajdonsághoz, de a megadott szolgáltatásokat az „image” tárolóhoz kapcsolja.
szolgáltatások: - dokkoló:19.03.0-dind
- Környezeti változók meghatározása adott feladatokhoz.
- 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 TravisCI-vel.
változók: COMMAND: "jel"
- Határozza meg azokat a szkripteket, amelyeknek *a munka előtt* kell futniuk. Beállítható globálisan vagy munkánként.
before_script: - mkdir -p ${CI_PROJECT_DIR}/termékek - mkdir -p ${CI_PROJECT_DIR}/csomagok
- Helyezze el a Runner által végrehajtott Shell-szkripteket. Írja alá a .NET dll mellékterméket a CodeSignTool Docker Image segítségével
script: - docker pull ghcr.io/sslcom/codesigner:latest - docker run -i --rm --dns 8.8.8.8 --hálózati gazdagép --kötet ${CI_PROJECT_DIR}/packages:/codesign/examples --kötet $ {CI_PROJECT_DIR}/artifacts:/codesign/output -e USERNAME=${USERNAME} -e PASSWORD=${PASSWORD} -e CREDENTIAL_ID=${CREDENTIAL_ID} -e TOTP_SECRET=${TOTP_SECRET} -e KÖRNYEZET_NÉV={}ENVIRONMENT_NAME=$ ghcr.io/sslcom/codesigner:legújabb ${COMMAND} -input_file_path=/codesign/examples/${PROJECT_NAME}.dll -output_dir_path=/codesign/output
- Írja meg a parancsfájlt, amellyel megadhatja azon fájlok és könyvtárak listáját, amelyeket csatolni kell a feladathoz, ha az sikeres.
műtermékek: elérési utak: - ${CI_PROJECT_DIR}/artifacts/${PROJECT_NAME}.dll expire_in: 1 nap
- Adja meg a korábbi szakaszokból származó jobnevek listáját, amelyekből a műtermékeket be kell tölteni.
függőségek: - build-dotnet
Indítsa el az építési szakaszt
Hozzon létre egy adattárat
Tekintse meg a Gitlab parancssori utasításait az alábbi képernyőképen látható módon
Nyomja meg a mappát
Ehhez kattintson rá terminál menüben, majd utána Új terminál.
A projekt leküldéséhez írja be a push scriptet a termináljára
Kattintson a Build gombra
A csővezeték elindítása után folytassa az építést
Ellenőrizze, hogy a felépítés sikeres-e
Indítsa el a Sign Stage-et
Folytassa a műtárgy aláírásával
Erősítse meg, hogy a kódaláírás sikeres volt-e
Most letöltheti az aláírt fájlt
Minta Gitlab CI Pipeline
Tekintse meg az általunk létrehozott Gitlab CI mintafolyamatot github.com/SSLcom/codesigner-gitlabci-sampleEgyéb CI/CD távoli aláírás integrációs útmutatók
- Cloud Code Signing integráció CircleCI-vel
- Cloud Code Signing integráció a GitHub-műveletekkel
- 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.