Dies ist eine Anleitung, wie Azure DevOps in eSigner CodeSignTool integriert werden kann, um automatisierte Codesignaturen durchzuführen.
CodeSignTool ist ein Befehlszeilendienstprogramm, das für Cloud-Codesignaturprozesse geeignet ist und sich nahtlos in verschiedene CI/CD-Plattformen integrieren lässt. Es ist Teil von eSigner: unserem Remote-Signatur-Service, der einen effizienten, sicheren und benutzerfreundlichen Ansatz für Codesignaturen bietet.
Umgebungsvariablen
- USERNAME: Benutzername des SSL.com-Kontos. (Erforderlich)
- PASSWORD: Kennwort für das SSL.com-Konto (erforderlich)
- CREDENTIAL_ID: Anmelde-ID zum Signieren des Zertifikats. Wenn credential_id ausgelassen wird und der Benutzer nur ein eSigner-Codesignaturzertifikat hat, verwendet CodeSignTool standardmäßig dieses. Wenn der Benutzer über mehr als ein Codesignaturzertifikat verfügt, ist dieser Parameter obligatorisch. (Erforderlich)
- TOTP_SECRET: OAuth-TOTP-Geheimnis. Detaillierte Informationen erhalten Sie unter https://www.ssl.com/how-to/automate-esigner-ev-code-signing (Pflichtfeld)
- UMGEBUNGSNAME : 'TEST'- oder 'PROD'-Umgebung. (Erforderlich)
Eingänge
- Eingabedateipfad: Pfad des zu signierenden Codeobjekts. (Erforderlich)
- Ausgabeverzeichnis_Pfad: Verzeichnis, in das signierte Codeobjekte geschrieben werden. Wenn output_path weggelassen wird, wird die in -file_path angegebene Datei mit der signierten Datei überschrieben.
Erstellen Sie ein Projekt auf visualstudio.com
Erstellen Sie eine neue .yml-Datei in Ihrem Code-Editor
Legen Sie Integrationsauslöser und Umgebungsvariablen fest
Continuous-Integration-Trigger
auslösen:
- keiner
Definiert Umgebungsvariablen global. Die Eigenschaft auf Jobebene überschreibt globale Variablen
Variablen:
buildConfiguration: 'Release'
Gruppieren Sie Jobs in Phasen
Schreiben Sie die Schritte für die Erstellungsphase. Alle Jobs in einer Stufe müssen abgeschlossen sein, bevor die nächste Stufe ausgeführt wird.
Stufen:
– Stufe: bauen
# Wenn der Arbeitsablauf ausgeführt wird, ist dies der Name, der protokolliert wird
displayName: Bauen
Arbeitsplätze:
- Arbeit:
Schwimmbad:
Job auf Windows-VMs ausführen
vmImage: „Windows-neueste“
Schritte:
Installieren Sie Dotnet 6.0.x
– Aufgabe: UseDotNet@2
displayName: „.NET Core SDK installieren“
Eingänge:
Version: '6.0.x'
PerformMultiLevelLookup: wahr
includePreviewVersions: wahr
Stellen Sie das Dotnet-Projekt wieder her
– Aufgabe: DotNetCoreCLI@2
displayName: Wiederherstellen
Eingänge:
Befehl: 'wiederherstellen'
Dotnet-Projekt mit Release-Konfiguration erstellen
– Aufgabe: DotNetCoreCLI@2
displayName: Bauen
Eingänge:
Befehl: bauen
Projekte: HelloWorld.csproj
Argumente: '–configuration $(buildConfiguration)'
Erstellen Sie Verzeichnisse für signierte Artefakte
– Powershell: New-Item -ItemType Directory -Path ./artifacts
displayName: 'Verzeichnisse für Artefakte erstellt'
Erstellen Sie Verzeichnisse für signierte Pakete
– Powershell: New-Item -ItemType Directory -Path ./packages
displayName: 'Verzeichnisse für Pakete erstellt'
Kopieren Sie das Artefakt als Signaturpfad
– Powershell: Copy-Item ./bin/Release/netcoreapp3.1/HelloWorld-0.0.1.dll -Destination ./packages/HelloWorld.dll
displayName: „Erstellte Artefakte in das Paketverzeichnis kopieren“
Speichern Sie das Artefakt, um den Signaturjob zu verwenden
– Aufgabe: PublishBuildArtifacts@1
displayName: 'Zu signierendes Artefakt zum Herunterladen speichern'
Eingänge:
Pfad zur Veröffentlichung: ./packages/HelloWorld.dll
Artefaktname: HelloWorld.dll
Schreiben Sie die Schritte für die Sign-Phase auf
– Stufe: Zeichen
# Wenn der Arbeitsablauf ausgeführt wird, ist dies der Name, der protokolliert wird
displayName: Zeichen
Arbeitsplätze:
- Arbeit:
Schwimmbad:
Job auf Ubuntu-VMs ausführen
vmImage: „Ubuntu-neueste“
Schritte:
Erstellen Sie Verzeichnisse für signierte Artefakte
– Skript: mkdir -p ./artifacts && mkdir -p ./packages
displayName: „Verzeichnisse für Artefakte und Pakete erstellt“
Laden Sie das zu signierende Artefakt herunter
– Aufgabe: DownloadPipelineArtifact@2
Eingänge:
Artefakt: HelloWorld.dll
Downloadpfad: ./Pakete
Installieren Sie Docker 17.09.0-ce
– Aufgabe: DockerInstaller@0
displayName: Docker-Installationsprogramm
Eingänge:
DockerVersion: 17.09.0-ce
releaseType: stabil
Docker Pull CodeSigner Docker-Image
– Skript: docker pull ghcr.io/sslcom/codesigner:latest
displayName: „Docker Pull CodeSigner Docker-Image“
Artefakt mit CodeSigner-Docker-Image signieren
– Skript: docker run -i –rm –dns 8.8.8.8 –network host –volume $PWD/packages:/codesign/examples –volume $PWD/artifacts:/codesign/output
-e BENUTZERNAME=$(BENUTZERNAME) -e PASSWORT=$(PASSWORT) -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: „Artefakt mit CodeSigner-Docker-Image signieren“
Signiertes Artefakt zum Herunterladen speichern
– Aufgabe: PublishBuildArtifacts@1
displayName: 'Signiertes Artefakt zum Herunterladen speichern'
Eingänge:
Pfad zur Veröffentlichung: ./artifacts/HelloWorld.dll
Artefaktname: HelloWorld.dll
Erstellen Sie eine neue .gitignore-Datei
Eintippen:
Kasten
obj
.vscode
Geben Sie in der Meldungsleiste Erstellte pipeline.yml ein und klicken Sie auf Verpflichten Taste im nun erscheinenden Bestätigungsfenster nun wieder los.
Fahren Sie mit dem Klicken fort Änderungen synchronisieren Taste im nun erscheinenden Bestätigungsfenster nun wieder los.
Gehen Sie zu visualstudio.com und klicken Sie auf Repos auf dem Armaturenbrett
Aktualisieren Sie die Seite, um die YML-Datei anzuzeigen
Klicken Sie Pipelines auf dem Armaturenbrett
Als Nächstes klicken Sie auf Pipeline erstellen
Klicken Sie auf Azure Repos Git
Wählen Sie Ihre YAML-Datei aus
Klicken Sie Variablen Taste gefolgt von Neue Variable
Platzieren Sie den Wert für jede Umgebungsvariable und klicken Sie auf OK Taste im nun erscheinenden Bestätigungsfenster nun wieder los.
Klicken Sie auf das +-Zeichen, um mit dem Hinzufügen jeder Variable fortzufahren
Nachdem Sie alle Variablen eingefügt haben, fahren Sie mit der Erstellung Ihrer Pipeline fort
Führen Sie Ihre Pipeline aus
Klicken Sie Pipelines auf dem Armaturenbrett. Klicken Sie in Ihrer Pipeline auf die drei Punkte (weitere Optionen). Klicken Pipeline ausführen. Klicken Sie abschließend auf die Schaltfläche Führen Sie .
Klicken Sie auf Erstellen, um die Erstellungsphase zu starten
Überprüfen Sie, ob jeder Job in der Build-Phase erfolgreich ist
Klicken Sie auf den Dropdown-Pfeil daneben Job um den Status jedes Build-Jobs anzuzeigen
Starten Sie die Sign-Phase durch Klicken Job
Überprüfen Sie, ob jeder Schritt im Signaturprozess erfolgreich war
Überprüfen Sie noch einmal, ob sowohl die Build- als auch die Signierphase erfolgreich sind
Beispiel einer Azure DevOps-Pipeline
Sehen Sie sich die von uns erstellte Azure DevOps-Beispielpipeline an github.com/SSLcom/codesigner-azuredevops-sampleAndere Leitfäden zur Integration von Remote-Signaturen
- Cloud Code Signing-Integration mit CircleCI
- Cloud Code Signing-Integration mit GitHub-Aktionen
- Cloud Code Signing-Integration mit GitLab CI
- Cloud Code Signing-Integration mit Travis CI
- Cloud Code Signing-Integration mit Jenkins CI
- Cloud Code Signing-Integration mit BitBucket
- Cloud Code Signing-Automatisierung mit CI/CD-Diensten
Benötigen Sie kundenspezifische Lösungen?
Mit unserem Expertenwissen und unserem Fünf-Sterne-Support-Personal sind wir bereit und bereit, mit Ihnen an kundenspezifischen Lösungen oder Rabatten für Großseriensignaturen auf Unternehmensebene zu arbeiten. Füllen Sie das untenstehende Formular aus und wir melden uns bei Ihnen.