diff --git a/Construire-et-publier-une-image-Docker.md b/Construire-et-publier-une-image-Docker.md index 1f576c2..96837ec 100644 --- a/Construire-et-publier-une-image-Docker.md +++ b/Construire-et-publier-une-image-Docker.md @@ -1 +1,36 @@ -Bienvenue sur le Wiki. \ No newline at end of file +# Construire et publier une image Docker + +La librairie Jenkins "Cadoles" met à disposition une méthode permettant de construire, valider puis optionnellement publier une image Docker sur un dépôt compatible. + +Pour utiliser cette méthode, votre fichier `Jenkinsfile` doit avoir la ligne d'import suivant (par exemple, sur la première ligne): + +```groovy +@Library("cadoles") _ +``` + +Cette ligne indique à Jenkins d'importer la librairie définie par le projet https://forge.cadoles.com/Cadoles/Jenkins. + +Ensuite, créez un nouveau stage dans votre fichier Jenkinsfile: + +```groovy +stage("Build and publish container image") { + steps { + script { + // On récupère le tag du commit courant + Boolean currentTag = sh(script: 'git tag --points-at HEAD | head -n 1', returnStdout: true).trim() + + // On retrouve le tag de l'image "par défaut" + String defaultTag = sh(returnStdout: true, script: 'git describe --always').trim() + + container.buildAndPublishImage([ + 'dockerfile': 'path/to/my/Dockerfile', + 'imageName': 'reg.cadoles.com/cadoles/myAppImageName', + 'imageTag': currentTag ?: defaultTag, // On utilise soit le tag courant, soit le tag par défaut + 'dryRun': !currentTag, // On ne déploie l'image sur le registre que si le commit courant est taggé + ]) + } + } +} +``` + +Par défault, l'image sera publiée sur le dépôt Cadoles https://reg.cadoles.com. \ No newline at end of file