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"
                  cleanWs()
                }
            }
        }
    }
