Chris Pomeroy
2020-10-11 5cbf3ee4f598fefceb1b9e181e502666d11c74ab
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
def discordUrl = "https://discordapp.com/api/webhooks/764667082272145418/vorf2JdFG47WAmQP3yZhgHH12wW_qUXG0bS0SG8INLYVwU0HcDFajq9doaDgi_hnI00-"
def BUILDDATE = sh(script: "echo `date --rfc-3339=date`", returnStdout: true).trim()
def customImage
 
pipeline {
    agent {
        label 'pi-docker-agent'
 
        options {
            timestamps()
            // ansiColor("xterm")
        }
    }
 
    stages {
        stage('Checkout Source'){
            steps {
                checkout scm
            }
            post{
                failure {
                    discordSend description:" Failed to checkout source code ", footer: "Jenkins docker image", link: "${env.BUILD_URL}", title: "${JOB_NAME}", result: "${currentBuild.currentResult}", webhookURL: "${discordUrl}"
                }
            }
        }
 
        stage('Build Image'){
            steps {
                script {
                    docker.build("jenkins:${BUILDDATE}-build-${env.BUILD_ID}")
                }
            }
            post{
                failure {
                    discordSend description:" Building image failed ", footer: "Jenkins docker image", link: "${env.BUILD_URL}", title: "${JOB_NAME}", result: "${currentBuild.currentResult}", webhookURL: "${discordUrl}"
                }
            }
        }
 
        stage('Push Image to repository'){
            steps {
                script {
                    docker.withRegistry('https://dev-reg.darkurthe.net'){
                        customImage.push()
                        customImage.push("latest")
                    }
                }
            }
            post{
                failure {
                    discordSend description: " Pushing image failed ", footer: "Jenkins docker image", link: "${env.BUILD_URL}", title: "${JOB_NAME}", result: "${currentBuild.currentResult}", webhookURL: "${discordUrl}"
                }
            }
        }
    }
    post{
        success {
            discordSend description: " New Jenkins image has been pushed to the registry ", footer: "Jenkins docker image", link: "${env.BUILD_URL}", title: "${JOB_NAME}", result: "${currentBuild.currentResult}", webhookURL: "${discordUrl}"       
        }
        unsuccessful{
            discordSend description: " There was a problem with the Jenkins docker image.\nPlease review the build", footer: "Jenkins docker image", link: "${env.BUILD_URL}", title: "${JOB_NAME}", result: "${currentBuild.currentResult}", webhookURL: "${discordUrl}"
        }
    }
}