Toto je průvodce, jak lze Azure DevOps integrovat s eSigner CodeSignTool a provádět automatizované podepisování kódu.
CodeSignTool je nástroj příkazového řádku, který je vhodný pro procesy podepisování kódu v cloudu a bezproblémově se integruje s různými platformami CI/CD. Tvoří součást eSigner: naší služby vzdáleného podepisování, která nabízí efektivní, bezpečný a uživatelsky přívětivý přístup k podepisování kódu.
Proměnné prostředí
- USERNAME: Uživatelské jméno účtu SSL.com. (Požadované)
- HESLO: Heslo účtu SSL.com (vyžadováno)
- CREDENTIAL_ID: ID pověření pro podpisový certifikát. Pokud je credential_id vynecháno a uživatel má pouze jeden certifikát pro podpis kódu eSigner, CodeSignTool jej použije jako výchozí. Pokud má uživatel více než jeden certifikát pro podpis kódu, je tento parametr povinný. (Požadované)
- TOTP_SECRET: Tajné OAuth TOTP. Podrobné informace získáte na https://www.ssl.com/how-to/automate-esigner-ev-code-signing (Povinné)
- ENVIRONMENT_NAME : Prostředí 'TEST' nebo 'PROD'. (Požadované)
Vstupy
- cesta k vstupnímu_souboru: Cesta objektu kódu, který má být podepsán. (Požadované)
- výstupní_adresář_cesta: Adresář, do kterého budou zapsány podepsané objekty kódu. Pokud je výstupní_cesta vynechána, soubor zadaný v -file_path bude přepsán podepsaným souborem.
Vytvořte projekt na visualstudio.com
Vytvořte nový soubor .yml v editoru kódu
Nastavte spouštěče integrace a proměnné prostředí
Spouštěče průběžné integrace
spoušť:
- žádný
Globálně definuje proměnné prostředí. Vlastnost na úrovni úlohy přepíše globální proměnné
proměnné:
buildConfiguration: 'Release'
Seskupte úlohy do fází
Napište kroky pro fázi sestavení. Všechny úlohy v jedné fázi musí být dokončeny před provedením další fáze.
etapy:
– etapa: stavět
# Když se pracovní postup spustí, je to název, který se zaprotokoluje
displayName: Sestavení
pracovní místa:
- práce:
bazén:
Spusťte úlohu na virtuálních počítačích s Windows
vmImage: 'windows-latest'
Kroky:
Nainstalujte Dotnet 6.0.x
– úkol: UseDotNet@2
displayName: 'Install .NET Core SDK'
vstupy:
verze: '6.0.x'
performMultiLevelLookup: true
includePreviewVersions: true
Obnovit projekt Dotnet
– úkol: DotNetCoreCLI@2
displayName: Obnovit
vstupy:
příkaz: 'obnovit'
Sestavte projekt dotnet s konfigurací Release
– úkol: DotNetCoreCLI@2
displayName: Sestavení
vstupy:
příkaz: stavět
projekty: HelloWorld.csproj
argumenty: '–configuration $(buildConfiguration)'
Vytvořte adresáře pro podepsané artefakty
– powershell: New-Item -ItemType Directory -Path ./artifacts
displayName: 'Vytvořené adresáře pro artefakty'
Vytvořte adresáře pro podepsané balíčky
– powershell: New-Item -ItemType Directory -Path ./packages
displayName: 'Vytvořené adresáře pro balíčky'
Zkopírujte artefakt, aby byl podepisovací cestou
– powershell: Copy-Item ./bin/Release/netcoreapp3.1/HelloWorld-0.0.1.dll -Destination ./packages/HelloWorld.dll
displayName: „Kopírovat vytvořené artefakty do adresáře balíčků“
Uložte artefakt, abyste mohli použít úlohu podepisování
– úkol: PublishBuildArtifacts@1
displayName: 'Uložit artefakt podepsaný ke stažení'
vstupy:
pathtoPublish: ./packages/HelloWorld.dll
ArtifactName: HelloWorld.dll
Napište kroky pro fázi Sign
– etapa: Sign
# Když se pracovní postup spustí, je to název, který se zaprotokoluje
displayName: Sign
pracovní místa:
- práce:
bazén:
Spusťte úlohu na virtuálních počítačích Ubuntu
vmImage: “Ubuntu-nejnovější”
Kroky:
Vytvořte adresáře pro podepsané artefakty
– skript: mkdir -p ./artifacts && mkdir -p ./packages
displayName: “Vytvořené adresáře pro artefakty a balíčky”
Stáhněte si artefakt, který chcete podepsat
– úkol: DownloadPipelineArtifact@2
vstupy:
artefakt: HelloWorld.dll
cesta ke stažení: ./packages
Nainstalujte Docker 17.09.0-ce
– úkol: DockerInstaller@0
displayName: Docker Installer
vstupy:
dockerVerze: 17.09.0-ce
releaseType: stabilní
Obrázek Docker Pull CodeSigner Docker
– skript: docker pull ghcr.io/sslcom/codesigner:latest
displayName: 'Docker Pull CodeSigner Docker Image'
Podepište artefakt pomocí obrázku dokovacího zařízení CodeSigner
– skript: docker run -i –rm –dns 8.8.8.8 –hostitel sítě –volume $PWD/packages:/codesign/examples –volume $PWD/artifacts:/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:latest sign -input_file_path=/codesign/examples/HelloWorld.dll
-output_dir_path=/codesign/output
displayName: 'Podepsat artefakt pomocí obrázku ukotvitelné stanice CodeSigner'
Uložte podepsaný artefakt pro stažení
– úkol: PublishBuildArtifacts@1
displayName: 'Uložit podepsaný artefakt ke stažení'
vstupy:
pathtoPublish: ./artifacts/HelloWorld.dll
ArtifactName: HelloWorld.dll
Vytvořte nový soubor .gitignore
Vepište:
popelnice
Obj
.vscode
Na panelu zpráv zadejte Created pipeline.yml a klikněte na Spáchat tlačítko
Pokračujte kliknutím na Synchronizovat změny tlačítko
Pokračujte na visualstudio.com a klikněte Zbytek na palubní desce
Obnovením stránky zobrazíte soubor yml
klikněte Potrubí na palubní desce
Dále klepněte na tlačítko Vytvořit potrubí
Klikněte na Azure Repos Git
Vyberte svůj soubor YAML
klikněte Proměnné tlačítko následované Nová proměnná
Umístěte hodnotu pro každou proměnnou prostředí a klikněte na OK tlačítko
Kliknutím na znaménko + pokračujte v přidávání jednotlivých proměnných
Po umístění všech proměnných pokračujte ve vytváření kanálu
Spusťte potrubí
klikněte Potrubí na palubní desce. Klikněte na tři tečky (další možnosti) na kanálu. Klikněte Spustit potrubí. Nakonec klepněte na tlačítko Běh .
Klikněte na Build pro zahájení fáze sestavení
Zkontrolujte, zda je každá úloha ve fázi sestavení úspěšná
Klikněte na šipku rozevíracího seznamu vedle Práce zobrazit stav každé úlohy sestavení
Zahajte fázi Sign kliknutím Práce
Zkontrolujte, zda je každý krok v procesu podepisování úspěšný
Znovu zkontrolujte, zda jsou fáze sestavení i podpisu úspěšné
Ukázka Azure DevOps Pipeline
Podívejte se na ukázkový kanál Azure DevOps, který jsme vytvořili github.com/SSLcom/codesigner-azuredevops-sampleDalší příručky integrace vzdáleného podepisování
- Integrace cloudového podepisování kódu s CircleCI
- Integrace cloudového podepisování kódu s akcemi GitHub
- Integrace cloudového kódového podpisu s GitLab CI
- Integrace cloudového podepisování kódu s Travis CI
- Integrace cloudového podepisování kódu s Jenkins CI
- Integrace cloudového podepisování kódu s BitBucket
- Cloudová automatizace podepisování kódu se službami CI/CD
Potřebujete vlastní řešení?
S našimi odbornými znalostmi a pětihvězdičkovým podpůrným personálem jsme připraveni a ochotni s vámi spolupracovat na vlastních řešeních nebo slevách na velkoobjemové podpisy na podnikové úrovni. Vyplňte formulář níže a my se vám ozveme.