40 lines
830 B
Plaintext
40 lines
830 B
Plaintext
|
|
pipeline {
|
||
|
|
environment {
|
||
|
|
registry = 'https://registry.hub.docker.com'
|
||
|
|
registryCredential = 'dockerhub_jcabillot'
|
||
|
|
dockerImage = 'jcabillot/dynhost'
|
||
|
|
}
|
||
|
|
|
||
|
|
agent any
|
||
|
|
|
||
|
|
triggers {
|
||
|
|
cron('@midnight')
|
||
|
|
}
|
||
|
|
|
||
|
|
stages {
|
||
|
|
stage('Clone repository') {
|
||
|
|
steps{
|
||
|
|
checkout scm
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
stage('Build image') {
|
||
|
|
steps{
|
||
|
|
sh 'docker build --force-rm=true --no-cache=true --pull -t ${dockerImage} .'
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
stage('Deploy Image') {
|
||
|
|
steps{
|
||
|
|
script {
|
||
|
|
withCredentials([usernamePassword(credentialsId: 'dockerhub_jcabillot', usernameVariable: 'DOCKER_USER', passwordVariable: 'DOCKER_PASS')]) {
|
||
|
|
sh 'docker login --username ${DOCKER_USER} --password ${DOCKER_PASS}'
|
||
|
|
sh 'docker push ${dockerImage}'
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|