Utiliser Jenkins pour déployer dans Azure

Salut!

Mon objectif au sein de cet article sera de vous présenter comment déployer un serveur Jenkins qui vous permettra de déployer des ressources dans Azure depuis un Hook Github.

Au sommaire:

  • Etape 1: Requis nécessaire au déploiement de Jenkins
  • Etape 2 : Déployer Jenkins
  • Etape 3: Installation d’Azure CLI
  • Etape 4: Initialiser le compte Admin
  • Etape 5: Créer un Azure Service Principal
  • Etape 6: Configuration des plugins Jenkins (Azure Credentials/Azure CLI)
  • Etape 7: Configurer une Job Jenkins – « Déployer une VM Ubuntu depuis Jenkins »
  • Etape 8: Configuration une Job Jenkins -« Déployer dans Azure depuis un Hook Jenkins »

Requis:

  • Souscription Azure
  • Azure Cloud Shell (PowerShell)
  • Un compte Github

Etape 1 : Requis nécessaire au déploiement de Jenkins

cd c:\users\containeradministrator\CloudDrive\

vim cloud-init-jenkins.txt

#cloud-config

package_upgrade: true

runcmd:

 – wget -q -O – https://jenkins-ci.org/debian/jenkins-ci.org.key | apt-key add –

 – sh -c ‘echo deb http://pkg.jenkins-ci.org/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list’

 – apt-get update && apt-get install jenkins -y

 – service jenkins restart

Etape 2 : Déployer Jenkins

az group create –name myResourceGroupJenkins –location eastus

az vm create –resource-group myResourceGroupJenkins –name myVM –image UbuntuLTS –admin-username azureuser –generate-ssh-keys –custom-data cloud-init-jenkins.txt

az vm open-port –resource-group myResourceGroupJenkins –name myVM –port 8080 –priority 1001

az vm open-port –resource-group myResourceGroupJenkins –name myVM –port 1337 –priority 1002

az vm show –resource-group myResourceGroupJenkins –name myVM -d –query [publicIps] –o tsv

ssh azureuser@<publicIps>

Etape 3: Installation d’Azure CLI

echo « deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ wheezy main » | sudo tee /etc/apt/sources.list.d/azure-cli.list

sudo apt-key adv –keyserver packages.microsoft.com –recv-keys 417A0893

sudo apt-get install apt-transport-https

sudo apt-get update && sudo apt-get install azure-cli

Etape 4: Initialiser le compte Admin

sudo cat /var/lib/jenkins/secrets/initialAdminPassword

http://<publicIps>:8080

Etape 5: Créer un Azure Service Principal

az ad sp create-for-rbac –name jenkins_sp –password jenkins_sp

{
   « appId »: « BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBB »,
   « displayName »: « jenkins_sp »,
   « name »: « http://jenkins_sp »,
   « password »: « secure_password »,
   « tenant »: « CCCCCCCC-CCCC-CCCC-CCCCCCCCCCC »
}
az account list
{
      « cloudName »: « AzureCloud »,
      « id »: « AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA »,
      « isDefault »: true,
      « name »: « Visual Studio Enterprise »,
      « state »: « Enabled »,
      « tenantId »: « CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCC »,
      « user »: {
      « name »: « max@fabrikam.com »,
      « type »: « user »
      }

Etape 6: Configuration des plugins Jenkins (Azure Credentials / Azure CLI)

  • Installer le plugin Azure Credentials

  • Installer Azure CLI

Etape 7: Configurer une Job Jenkins – « Déployer une VM Ubuntu depuis Jenkins » 

Se référer à l’étape 3 : Créer un Azure Service Principal”

az group create –name jenkinsprovisonned –location eastus
az vm create –resource-group jenkinsprovisonned –name demo01 –image UbuntuLTS –admin-username maxime –admin-password IloveAzureMeetupQC17!

Etape 8: Configuration une Job Jenkins – “Déployer dans Azure depuis un Hook Jenkins”

Configurer l’adresse de Jenkins pour le Hook

Créer un nouveau: Freestyle project

Lancer l’execution : Faire un Commit de ce que vous souhaitez dans votre repo 🙂

Démarrez une conversation

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *