Créer Pipeline avec Azure DevOps

Créer Pipeline avec Azure DevOps

Sur Azure DevOps vous avez accès à 2 types de pipelines.

  • Les Pipelines qui s’écrivent principalement en code
  • les Releases Pipelines qui se font principalement en clic.

En fonction du besoin que vous avez, vous pouvez utiliser l’une ou l’autre des pipelines. Nous allons voir comment créer ses pipelines à partir d’un code Terraform de base pour utiliser terraform Cloud

Pour commencer sous azure DevOps dans votre Repo créé les fichiers suivants  (main.tf, provider.tf, variables.tf) directement à la racine ou alors dans un dossier comme moi.

Les 3 fichiers doivent au moins avoir le contenu suivant:
main.tf
terraform {
  required_providers {
    azurerm = {
      source  = "hashicorp/azurerm"
      version = "~> 3.20.0"
    }
  }

  cloud {
    organization = "Your_Organisation"  #changer cette valeur pour indiquer le nom de votre organisation sur Terraform
    workspaces {
      name = "Your_WorkSpaces"   #changer cette valeur pour indiquer le nom de votre WorkSpace sur Terraform
    }
  }
}

provider.tf

provider "azurerm" {
  features {
  }
}

Variable.tf

variable "resource_group_name" {
  type    = string
  default = "Your_Resource_Group_Name"  #Changer cette valeur pour indiquer le nom de votre Resource Group Azure
}

Créer Une Pipeline

Une fois que vous avez préparé votre code ou alors avez mis en place le code de base proposé au début de la documentation vous pouvez suivre ses étapes. 

  • Dans votre projet sur AzureDevOps cliquer sur Pipelines ensuite sur Pipelines et enfin sur New pipeline
Indiquer ensuite où se trouve votre code. Dans notre cas le code est sur Azure DevOps donc choisir Azure Repos Git.

Choisir ensuite le repo à utiliser. Dans mon cas j’ai choisi mon repo

Choisir ensuite Starter pipeline pour créer une pipeline vierge avec un code minimal.
Vous pouvez cliquer sur Save and run pour créer et lancer votre pipeline minimal qui va juste afficher un message Hello, world!
Indiquer un message pour le commit si besoin et cliquer enfin sur Save and run

L’instruction trigger: permet de lancer le code automatiquement. Vu que nous avons spécifié main, tous les commit dans main vont provoquer le lancement de la pipeline. Pour éviter cela il suffit d’indiquer none (- none) au lieu de main (- main)  à la ligne qui suit l’instruction trigger.

Votre pipeline se lance et vous pouvez suivre l’évolution en cliquant sur le Job

Vous pouvez donc suivre l’état d’avancement et avoir les logs de sortie de la pipeline

Créer une Release Pipeline

Une fois que vous avez préparé votre code ou alors avez mis en place le code de base proposé au début de la documentation vous pouvez suivre cette partie.

Dans la vue principale de votre projet, cliquer sur Pipelines ensuite sur Releases, ensuite sur New et enfin sur New release pipeline

Cliquer ensuite sur Empty Job en haut à droite et enfin changer le nom de la release
Ensuite cliquer sur Add an artifact
Ensuite il faut choisir Azure Repo, choisir le bon projet, la branche qui vous conviens et cliquer sur « Add »
Ensuite cliquer sur 1 Job, 0 task
Rajouter ensuite 4 tâches de Terraform ClI et une Terraform Installer. Modifier chacune des tâches pour avoir une configuration similaire à la mienne. La première tâche Use Terraform latest permet d’installer la version spécifiée de terraform. Dans notre cas nous avons choisi latest donc il va installer la dernière version de terraform.

Pour modifier l’os et la version de l’agent utilisé, cliquer sur Agent Job et modifier si vous le voulez le nom et l’os de l’agent.

Si vous utilisé Terraform Cloud. Cliquer ensuite sur Variables et ajouter une variable avec le nom TF_TOKEN_app_terraform_io et comme valeur mettez le Token que vous avez généré sur Terraform cloud. Cliquer ensuite sur Save en haut à droite.

Vous pouvez indiquer le nom d’un dossier qui sera créé afin de classer les pipelines par dossier ou alors ne rien mettre et elle sera créée à la racine. Cliquer ensuite sur OK.
Cliquer ensuite sur Pipeline et enfin sur Create release. La release une fois créée se lancer automatiquement en exécutant les actions de votre pipeline. Elle crée une sorte de snapshot de votre pipeline pour se lancer. Vous pouvez en créer plusieurs et vous devez même en créer une pour chacun de vos déploiements. Les modification réalisés sur la pipeline n’impactent pas les releases déjà créées.  Vous pouvez aussi modifier individuellement les paramètres d’une release que vous créez ou alors que vous aviez créé. 
Vous pouvez changer le comportement des Stages de votre pipeline. Vous pouvez donc sélectionner les Stage qui ne se lanceront plus en automatique. Vous pouvez choisir la version Artéfact qui sera utilisée pour votre release.  Vous pouvez éventuellement rajouter une description et cliquer enfin Create.
Azure DevOps
Pour voir les releases que vous avez créées, Cliquer sur Releases en haut à gauche. vous pouvez ensuite cliquer sur votre Release.

Comme dans le cas précédent vous pouvez suivre l’évolution de votre pipeline et avoir les logs de sortie.

joel

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.