tobiasmanske.de/Jenkinsfile

51 lines
1.6 KiB
Groovy

pipeline {
agent any
environment {
WATCHTOWER_TOKEN = credentials("watchtower-token")
}
stages {
stage('Cloning our Git') {
steps {
checkout([$class: 'GitSCM',
branches: [[name: '*/master']],
doGenerateSubmoduleConfigurations: false,
extensions: [[$class: 'SubmoduleOption',
disableSubmodules: false,
parentCredentials: false,
recursiveSubmodules: true,
reference: '',
trackingSubmodules: false]],
submoduleCfg: [],
userRemoteConfigs: [[url: 'https://git.tobiasmanske.de/user/rad4day/public/blog/']]])
}
}
stage('Build HTML') {
steps {
sh 'docker pull klakegg/hugo:alpine'
sh 'docker run -v "$PWD:/src" klakegg/hugo:alpine'
}
}
stage('Deploying Docker Image') {
steps {
script {
dockerImage = docker.build("tobiasmanske.de:latest")
docker.withRegistry('https://registry.chaoswg.org:5000', 'docker-registry-credentials') {
dockerImage.push()
}
}
sh 'curl -H "Authorization: Bearer $WATCHTOWER_TOKEN" http://172.16.0.104:9001/v1/update'
}
}
stage('Cleaning Up') {
steps{
sh "docker rmi --force tobiasmanske.de:latest"
}
}
}
}