Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Azure DevOps Services
Utilisez Azure Pipelines pour générer, tester et déployer automatiquement vos projets Go. Cet article vous montre comment créer un pipeline qui génère et teste votre code Go chaque fois que vous envoyez des modifications à votre référentiel.
Prerequisites
- Une organisation et un projet Azure DevOps. Créez-en un gratuitement.
- Un projet Go dans un dépôt GitHub ou Azure Repos. Si vous n’avez pas de projet, vous pouvez utiliser l’exemple de référentiel fourni dans cet article.
Créer votre premier pipeline
Nouveautés d’Azure Pipelines ? Essayez cette section avant de passer à d’autres sections.
Effectuez une duplication (fork) du dépôt suivant sur GitHub :
https://github.com/MicrosoftDocs/pipelines-go
Se connecter à Azure Pipelines
Connectez-vous à Azure Pipelines. Une fois que vous êtes connecté, votre navigateur accède à https://dev.azure.com/my-organization-name et affiche votre tableau de bord Azure DevOps.
- Dans un navigateur, rendez-vous sur dev.azure.com et connectez-vous.
- Sélectionnez votre organisation.
- Créez un projet en sélectionnant Nouveau projet ou Créer un projet si vous créez le premier projet dans l’organisation.
- Entrez un Nom de projet.
- Choisissez la Visibilité de votre projet.
- Cliquez sur Créer.
Créer le pipeline
Dans votre projet Azure DevOps, sélectionnez Pipelines dans le menu de navigation de gauche.
Sélectionnez Nouveau pipeline ou Créer un pipeline si ce pipeline est le premier dans le projet.
Dans l’écran Où se trouve votre code , sélectionnez GitHub.
Vous serez peut-être redirigé vers GitHub pour vous connecter. Si c’est le cas, entrez vos informations d’identification GitHub.
Dans l’écran Sélectionner un référentiel , sélectionnez le référentiel dans lequel se trouve votre application .NET.
Vous serez peut-être redirigé vers GitHub pour pouvoir installer l’application Azure Pipelines. Si c’est le cas, sélectionnez Approuver et installer.
Lorsque l’onglet Configurer s’affiche, sélectionnez Go. Votre nouveau pipeline s’affiche, avec le azure-pipelines.yml fichier YAML prêt à être configuré. Consultez les sections suivantes pour découvrir quelques-unes des façons les plus courantes de personnaliser votre pipeline.
Environnement de génération
Vous pouvez utiliser Azure Pipelines pour créer vos projets Go sans configurer l’infrastructure de votre choix. Vous pouvez utiliser des agents Linux, macOS ou Windows pour exécuter vos builds.
Mettez à jour l’extrait de code suivant dans votre azure-pipelines.yml fichier pour sélectionner l’image appropriée.
pool:
vmImage: 'ubuntu-latest'
Les versions modernes de Go sont préinstallées sur les agents hébergés par Microsoft. Pour connaître les versions exactes de Go préinstallé, reportez-vous aux agents hébergés par Microsoft dans Azure Pipelines.
Configurer Go
Important
Prise en charge de la version go : Le projet Go ne gère plus les versions Go antérieures à la version 1.11 et ces versions ne reçoivent pas de mises à jour de sécurité. Les agents hébergés par Microsoft incluent uniquement les versions Go actuellement prises en charge. Si votre projet utilise Go 1.10 ou une version antérieure, effectuez une mise à niveau vers Go 1.21 ou une version ultérieure pour bénéficier de la prise en charge des modules intégrés, des correctifs de sécurité et des améliorations des performances. Consultez l’historique des versions Go pour les détails sur la prise en charge des versions.
À compter de Go 1.11, vous n’avez plus besoin de définir une variable d’environnement $GOPATH , de configurer une disposition d’espace de travail ou d’utiliser le dep module. La gestion des dépendances est désormais intégrée avec les modules Go.
Ce YAML implémente la go get commande pour télécharger les packages Go et leurs dépendances. Il utilise go build ensuite pour générer le contenu publié par la PublishBuildArtifacts@1 tâche.
trigger:
- main
pool:
vmImage: 'ubuntu-latest'
steps:
- task: GoTool@0
inputs:
version: '1.22' # Use a currently supported Go version
- task: Go@0
inputs:
command: 'get'
arguments: '-d'
workingDirectory: '$(System.DefaultWorkingDirectory)'
- task: Go@0
inputs:
command: 'build'
workingDirectory: '$(System.DefaultWorkingDirectory)'
- task: CopyFiles@2
inputs:
TargetFolder: '$(Build.ArtifactStagingDirectory)'
- task: PublishBuildArtifacts@1
inputs:
artifactName: drop
Construire
Permet go build de générer votre projet Go. Ajoutez l’extrait de code suivant à votre fichier azure-pipelines.yml :
- task: Go@0
inputs:
command: 'build'
workingDirectory: '$(System.DefaultWorkingDirectory)'
Essai
Permet go test de tester votre module Go et ses sous-répertoires (./...). Ajoutez l’extrait de code suivant à votre fichier azure-pipelines.yml :
- task: Go@0
inputs:
command: 'test'
arguments: '-v'
workingDirectory: '$(System.DefaultWorkingDirectory)'
Lorsque vous êtes prêt, validez un nouveau fichier azure-pipelines.yml dans votre référentiel et mettez à jour le message de validation. Sélectionnez Enregistrer et exécuter.
Si vous souhaitez surveiller votre pipeline en action, sélectionnez la build dans l’option Travaux de votre tableau de bord Azure Pipelines.
Étant donné que votre code semblait être une bonne correspondance pour le modèle Go , Azure Pipelines a créé automatiquement votre pipeline.
Votre référentiel comprend maintenant un pipeline YAML (azure-pipelines.yml) opérationnel et prêt à être personnalisé !
Dès que vous souhaitez commencer à apporter des modifications à votre pipeline, sélectionnez-le sur la page Pipelines, puis sélectionnez Modifier pour modifier le fichier azure-pipelines.yml.
Conseil / Astuce
Pour apporter des modifications au fichier YAML comme décrit dans cet article, sélectionnez le pipeline dans la page Pipelines , puis sélectionnez Modifier pour ouvrir un éditeur pour le azure-pipelines.yml fichier.
Créer une image et envoyer (push) à Azure Container Registry
Pour votre application Go, vous pouvez également générer une image et la transmettre à un registre de conteneurs.