Les objectifs de cette documentation est d’obtenir un job Jenkins permettant d’automatiser les étapes de construction du projet Docker.
On crée un fichier qu’on nomme “Jenkinsfile.groovy"sur notre projet Git. L’extension groovy n’est pas obligatoire mais permet une meilleur lecture du fichier dû aux ajout de couleur d’ecriture.
Ce fichier type contient les informations suivantes sur le job à effectué :
1. L’agent utilisée pour réaliser le job, ici une image de type dind (Docker in Docker)
2. Trigger qui permet de planifier l’automatisation du job comme dans un cron.
3. Les stages qui contient des étapes pour réaliser le job, ici une première étape pour vérifier les mise à jour du projet, une deuxième étape est la construction d’une archive des sources applicative. Et une troisième pour la construction, la sauvegarde de l’image docker dans un dépôt privé.
pipeline {
agent {
docker {
image 'nginx:1.0'
args '-v /docker/volume/jenkins-slave/dind/bin:/slave-bin'
}
}
triggers {
pollSCM('H/5 * * * *')
}
options {
buildDiscarder(logRotator(numToKeepStr: '5', daysToKeepStr: '30'))
}
stages {
stage('Checkout project') {
steps{
checkout scm
}
}
stage('Build ma applis docker') {
environment {
DOCKER_REPO = '$REPO'
DOCKER_IMAGE = '$IMAGE'
DOCKER_IMAGE_VERSION = "${env.BRANCH_NAME}"
DOCKER_LOGIN = '$USERNAME'
DOCKER_PWD = '$PASSWORD'
}
steps {
sh '''
cd docker
docker build -t $DOCKER_REPO/$DOCKER_IMAGE:$DOCKER_IMAGE_VERSION . \
2>&1 | tee -a build.log
docker login -u $DOCKER_LOGIN -p $DOCKER_PWD $DOCKER_REPO
docker push $DOCKER_REPO/$DOCKER_IMAGE:$DOCKER_IMAGE_VERSION
docker logout $DOCKER_REPO
'''
}
}
}
}
Connectez-vous à Jenkins
Et ensuite sélectionner le type “Folder” pour l’item.

On le retrouve dans la liste des projets.

Cliquez sur votre projet, puis cliquez sur “New Item”

Et ensuite sélectionner le type “Folder” pour l’item.

On le retrouve dans la liste des applications.

Cliquez sur votre application, puis cliquez sur “New Item”

Et ensuite sélectionner le type “Multibranch Pipeline” pour l’item. Ce qui permet de réaliser des jobs en fonction de la branche git du projet.

Renseignez les informations concernant le dépôt git du projet, l’identité de l’utilisateur du job et le type du fichier Jenkins (Jenkinsfile.groovy).

Des indicateurs de couleurs spécifie la reussite de job, et impacte directement l’état de la météo du projet.
