Introduction

Nous allons voir à travers cette article comment utiliser la 'stack' logicielle Jenkins / Git et Docker pour builder ses conteneur.

Schéma

Implémentation de la plateforme

Installer docker sur le node02 : Docker.io - Déploiement sous linux

Une fois docker installé sur le node02, il faut ajouter l'utilisateur “jenkins” au groupe “docker”.

# usermod -aG docker jenkins

On redémarre docker

# systemctl restart docker

On redémarre jenkins

# systemctl restart jenkins

Attention:

Got permission denied while trying to connect to the Docker daemon socket at unix.

Nous allons installer le plugin “Docker Pipeline”.

Dans Manage Jenkins > Manage plugins > Available rechercher Docker Pipeline.

Une fois la construction (Build) de notre “dockerfiles” réalisé, nous stockerons le conteneur dans une registry. Dans l'exemple suivant, nous allons utiliser dockerhub.

Nous allons déclarer nos accès à dockerHub dans “Manage Jenkins” > “Manage Credentials” > “Add Credentials

pipeline {
    environment {
        registry = "rbouikila/docker-test"
        registryCredential = 'dockerhub'
        dockerImage = ''
    }
 
  agent any
 
  stages {
 
    stage('Cloning Git') {
      steps {
        /*git branch: 'main', url: 'https://github.com/rbouikila/img-ansible.git'*/
        git([url: 'https://github.com/rbouikila/img-ansible.git', branch: 'main'])
      }
    }
 
    stage('Building image') {
      steps{
        script {
          dockerImage = docker.build registry + ":$BUILD_NUMBER"
        }
      }
    }
 
    stage('Deploy Image') {
      steps{
        script {
          docker.withRegistry( '', registryCredential ) {
            /*dockerImage.push()*/
            dockerImage.push("$BUILD_NUMBER")
            dockerImage.push('latest')
          }
        }
      }
    }
 
    stage('Remove Unused docker image') {
      steps{
        sh "docker rmi $registry:$BUILD_NUMBER"
        sh "docker rmi $registry:latest"
      }
    }
  }
}

Annexe

Ce site web utilise des cookies. En utilisant le site Web, vous acceptez le stockage de cookies sur votre ordinateur. Vous reconnaissez également que vous avez lu et compris notre politique de confidentialité. Si vous n'êtes pas d'accord, quittez le site.En savoir plus