Il s'agit d'un guide sur la manière dont Azure DevOps peut être intégré à eSigner CodeSignTool pour effectuer une signature de code automatisée.
CodeSignTool est un utilitaire de ligne de commande qui convient aux processus de signature de code dans le cloud et s'intègre de manière transparente à diverses plates-formes CI/CD. Il fait partie d'eSigner : notre service de signature à distance qui offre une approche efficace, sécurisée et conviviale de la signature de code.
Variables d'environnement
- USERNAME: nom d'utilisateur du compte SSL.com. (Obligatoire)
- MOT DE PASSE: Mot de passe du compte SSL.com (Requis)
- CREDENTIAL_ID: ID d'identification pour la signature du certificat. Si credential_id est omis et que l'utilisateur n'a qu'un seul certificat de signature de code eSigner, CodeSignTool utilisera celui-ci par défaut. Si l'utilisateur possède plusieurs certificats de signature de code, ce paramètre est obligatoire. (Obligatoire)
- TOTP_SECRET: Secret OAuth TOTP. Vous pouvez accéder à des informations détaillées sur https://www.ssl.com/how-to/automate-esigner-ev-code-signing (Requis)
- ENVIRONNEMENT_NAME : Environnement 'TEST' ou 'PROD'. (Obligatoire)
Contributions
- chemin_fichier_entrée: Chemin de l'objet code à signer. (Obligatoire)
- chemin_rép_sortie: Répertoire où le ou les objets de code signés seront écrits. Si output_path est omis, le fichier spécifié dans -file_path sera remplacé par le fichier signé.
Créer un projet sur visualstudio.com
Créez un nouveau fichier .yml sur votre éditeur de code
Définir les déclencheurs d'intégration et les variables d'environnement
Déclencheurs d'intégration continue
déclencheur:
- aucun
Définit globalement les variables d'environnement. La propriété au niveau du travail remplace les variables globales
variables:
buildConfiguration : 'Libérer'
Regrouper les travaux en étapes
Écrivez les étapes de la phase de construction. Tous les travaux d'une étape doivent être terminés avant l'exécution de l'étape suivante.
étapes:
– étape : construire
# Lorsque le workflow s'exécute, c'est le nom qui est enregistré
displayName : version
emplois:
- travail:
bassin:
Exécuter la tâche sur les machines virtuelles Windows
vmImage: 'windows-dernier'
étapes:
Installer Dotnet 6.0.x
– tâche : UseDotNet@2
displayName : 'Installer le SDK .NET Core'
contributions:
version : '6.0.x'
performMultiLevelLookup : vrai
includePreviewVersions : vrai
Restaurer le projet Dotnet
– tâche : DotNetCoreCLI@2
displayName : Restaurer
contributions:
commande : 'restaurer'
Construire un projet dotnet avec la configuration Release
– tâche : DotNetCoreCLI@2
displayName : version
contributions:
commande : construire
projets : HelloWorld.csproj
arguments : '–configuration $(buildConfiguration)'
Créer des répertoires pour les artefacts signés
– PowerShell : New-Item -ItemType Directory -Path ./artifacts
displayName: 'Répertoires créés pour les artefacts'
Créer des répertoires pour les packages signés
– powershell : New-Item -ItemType Directory -Path ./packages
displayName : 'Répertoires créés pour les packages'
Copier l'artefact pour signer le chemin
– powershell : Copier-Item ./bin/Release/netcoreapp3.1/HelloWorld-0.0.1.dll -Destination ./packages/HelloWorld.dll
displayName : "Copier les artefacts construits dans le répertoire des packages"
Enregistrer l'artefact afin d'utiliser la tâche de signature
– tâche : PublishBuildArtifacts@1
displayName : 'Enregistrer l'artefact signé pour le téléchargement'
contributions:
pathtoPublish : ./packages/HelloWorld.dll
Nomartefact : HelloWorld.dll
Rédigez les étapes de l'étape Signer
– étape : Signe
# Lorsque le workflow s'exécute, c'est le nom qui est enregistré
displayName : signe
emplois:
- travail:
bassin:
Exécuter le travail sur les machines virtuelles Ubuntu
vmImage : "Ubuntu-dernier"
étapes:
Créer des répertoires pour les artefacts signés
– script : mkdir -p ./artefacts && mkdir -p ./packages
displayName : "Répertoires créés pour les artefacts et les packages"
Télécharger l'artefact à signer
– tâche : DownloadPipelineArtifact@2
contributions:
artefact : HelloWorld.dll
chemin de téléchargement : ./packages
Installer Docker 17.09.0-ce
– tâche : DockerInstaller@0
displayName : programme d'installation de Docker
contributions:
dockerVersion : 17.09.0-ce
Type de version : stable
Docker Extraire CodeSigner Image Docker
– script: docker pull ghcr.io/sslcom/codedesigner:latest
displayName: 'Docker Pull CodeSigner Docker Image'
Signer l'artefact avec l'image du docker CodeSigner
– script : docker run -i –rm –dns 8.8.8.8 –network host –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/codedesigner:latest sign -input_file_path=/codesign/examples/HelloWorld.dll
-output_dir_path=/codesign/output
displayName: 'Signer l'artefact avec l'image Docker CodeSigner'
Enregistrer l'artefact signé pour le téléchargement
– tâche : PublishBuildArtifacts@1
displayName : 'Enregistrer l'artefact signé pour le téléchargement'
contributions:
pathtoPublish : ./artifacts/HelloWorld.dll
Nomartefact : HelloWorld.dll
Créer un nouveau fichier .gitignore
Tapez:
coffre
obj
.vscode
Dans la barre de message, tapez Created pipeline.yml et cliquez sur le S’ENGAGER bouton (dans la fenêtre de contrôle qui apparaît maintenant)
Continuez à cliquer sur le Modifications de synchronisation bouton (dans la fenêtre de contrôle qui apparaît maintenant)
Rendez-vous sur visualstudio.com et cliquez sur Repos sur le tableau de bord
Actualisez la page pour voir le fichier yml
Cliquez Pipelines sur le tableau de bord
Ensuite, cliquez sur Créer un pipeline
Cliquez sur Azure Repos Git
Sélectionnez votre fichier YAML
Cliquez Variables bouton suivi de Nouvelle variable
Placez la valeur de chaque variable d'environnement et cliquez sur le OK bouton (dans la fenêtre de contrôle qui apparaît maintenant)
Cliquez sur le signe + pour continuer à ajouter chaque variable
Après avoir placé toutes les variables, procédez à la création de votre pipeline
Exécutez votre pipeline
Cliquez Pipelines sur le tableau de bord. Cliquez sur les trois points (plus d'options) sur votre pipeline. Cliquez sur Exécuter le pipeline. Enfin, cliquez sur le Courir .
Cliquez sur Construire pour démarrer l'étape de construction
Vérifier si chaque tâche de l'étape de construction est réussie
Cliquez sur la flèche déroulante à côté de Emploi pour voir le statut de chaque tâche de build
Lancez l'étape Signer en cliquant sur Emploi
Vérifiez si chaque étape du processus de signature est réussie
Vérifiez si les étapes de construction et de signature sont réussies
Exemple de pipeline Azure DevOps
Découvrez l'exemple de pipeline Azure DevOps que nous avons créé sur github.com/SSLcom/codedesigner-azuredevops-sampleAutres guides d'intégration de la signature à distance
- Intégration de la signature de code dans le cloud avec CircleCI
- Intégration de la signature de code dans le cloud avec les actions GitHub
- Intégration de la signature de code dans le cloud avec GitLab CI
- Intégration de la signature de code dans le cloud avec Travis CI
- Intégration de la signature de code dans le cloud avec Jenkins CI
- Intégration de la signature de code dans le cloud avec BitBucket
- Automatisation de la signature de code dans le cloud avec les services CI/CD
Besoin de solutions personnalisées ?
Grâce à nos connaissances spécialisées et à notre personnel d'assistance cinq étoiles, nous sommes prêts et disposés à travailler avec vous sur des solutions personnalisées ou des remises de signature de gros volumes au niveau de l'entreprise. Remplissez le formulaire ci-dessous et nous vous contacterons.