Générer et tester des projets Go

Azure DevOps Services

Utilisez un pipeline pour générer et tester automatiquement vos projets Go.

Créer votre premier pipeline

Vous débutez avec Azure Pipelines ? Si c’est le cas, nous vous recommandons de consulter 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.

  1. Dans un navigateur, rendez-vous sur dev.azure.com et connectez-vous.
  2. Sélectionnez votre organisation.
  3. Créez un nouveau projet en sélectionnant Nouveau projet ou Créer un projet si c’est le premier projet dans l’organisation.
  4. Entrez un Nom de projet.
  5. Choisissez la Visibilité de votre projet.
  6. Sélectionnez Créer.
  1. Dans un navigateur, rendez-vous sur votre serveur Azure DevOps.
  2. Sélectionnez votre collection.
  3. Créez un nouveau projet en sélectionnant Nouveau projet ou Créer un projet si c’est le premier projet dans la collection.
  4. Entrez un Nom de projet.
  5. Choisissez la Visibilité de votre projet.
  6. Sélectionnez Créer.

Créer le pipeline

  1. Connectez-vous à votre organisation Azure DevOps et accédez à votre projet.

  2. Accédez à Pipelines, puis sélectionnez Nouveau pipeline ou Création d’un pipeline si vous créez votre premier pipeline.

  3. Effectuez les étapes de l’Assistant en sélectionnant d’abord GitHub comme emplacement du code source.

  4. Vous serez peut-être redirigé vers GitHub pour vous connecter. Si c’est le cas, entrez vos informations d’identification GitHub.

  5. Quand la liste des dépôts s’affiche, sélectionnez le vôtre.

  6. 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 fichier YAML azure-pipelines.yml prêt à être configuré. Consultez les sections suivantes pour découvrir quelques-unes des méthodes les plus courantes pour personnaliser votre pipeline.

Environnement de génération

Vous pouvez utiliser Azure Pipelines pour créer vos projets Go sans configurer votre propre infrastructure. Vous pouvez utiliser des agents Linux, macOS ou Windows pour exécuter vos builds.

Mettez à jour l’extrait de code suivant dans votre fichier azure-pipelines.yml 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ées, reportez-vous à Agents hébergés par Microsoft dans Azure Pipelines.

Configurer Go

À compter de Go 1.11, vous n’avez plus besoin de définir un environnement $GOPATH, de configurer un layout d’espace de travail ou d’utiliser le module dep. La gestion des dépendances est désormais intégrée.

Ce YAML implémente la commande go get pour télécharger les packages Go et leurs dépendances. Il utilise ensuite go build pour générer le contenu publié avec la tâche PublishBuildArtifacts@1.

trigger: 
 - main

pool:
   vmImage: 'ubuntu-latest'

steps: 
- task: GoTool@0
  inputs:
    version: '1.13.5'
- 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

Build

Utilisez go build pour 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)'

Test

Utilisez go test pour 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.

Bouton Enregistrer et exécuter dans un nouveau pipeline YAML

Si vous souhaitez surveiller votre pipeline en action, sélectionnez la build dans l’option Travaux de votre tableau de bord Azure Pipelines. Génération de pipeline en action lorsque l’option Travaux d’Azure Pipelines est sélectionnée.

Étant donné que votre code semblait correspondre au modèle Go, nous avons automatiquement créé votre pipeline.

Vous disposez maintenant d’un pipeline YAML opérationnel (azure-pipelines.yml) dans votre référentiel qui est prêt à être personnalisé !

Lorsque vous êtes prêt à apporter des modifications à votre pipeline, sélectionnez-le dans la page Pipelines, puis Modifiez le fichier azure-pipelines.yml.

Conseil

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 fichier azure-pipelines.yml. Capture d’écran illustrant comment modifier Azure Pipeline à partir du tableau de bord avec plus d’options sélectionnées et Modifier mis en surbrillance.

Générer et envoyer une image au registre de conteneurs

Pour votre application Go, vous pouvez également générer une image et l’envoyer à un registre de conteneurs.

Extension Go pour Visual Studio Code (Microsoft)