Files
startusingjenkins/BuildJenkinsfileAgentDebian

56 lines
1.7 KiB
Plaintext

// You need a valid credentials for Docker Hub
// You need https://plugins.jenkins.io/docker-workflow/ on your jenkins instance
pipeline {
agent {
node {
label 'docker' //Agent needs to have Docker Engine installed
}
}
environment {
DOCKER_HUB_USER='guillemhs'
IMAGE_NAME="${DOCKER_HUB_USER}/jenkins-debian-13-agent"
REGISTRY_CRED_ID='docker-credentials'
// Executem una comanda shell per obtenir la data actual i la guardem com a variable
DATA = sh(returnStdout: true, script: 'date +%Y.%m.%d').trim()
TAG="${DATA}.${env.BUILD_NUMBER}"
}
stages {
stage('Checkout') {
steps {
// Get some code from a GIT repository
checkout scm
}
}
stage('Docker Build') {
steps {
script{
echo "Build image ..."
docker.build("${IMAGE_NAME}:${TAG}","-f DockerfileAgentDebian .")
}
}
}
stage('Docker Push')
{
steps{
script{
docker.withRegistry('',REGISTRY_CRED_ID){
def app = docker.image("${IMAGE_NAME}:${TAG}")
echo "Pushing image to Docker Hub ..."
app.push("${TAG}")
app.push("latest")
}
}
}
}
}
post{
always{
//cleanWs()
sh "docker rmi ${IMAGE_NAME}:${env.BUILD_NUMBER} || true"
sh "docker rmi ${IMAGE_NAME}:latest || true"
}
}
}