-
Notifications
You must be signed in to change notification settings - Fork 0
/
Jenkinsfile
66 lines (65 loc) · 2.5 KB
/
Jenkinsfile
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
65
66
def ORG = "mayadataio"
def REPO = "oep-pipelines-dashboard"
pipeline {
agent any
stages {
stage('Build Image') {
steps {
script {
GIT_SHA = sh(
returnStdout: true,
script: "git log -n 1 --pretty=format:'%h'"
).trim()
echo "Building docker image(s)"
sh "docker build -t ${ORG}/${REPO}:${env.BRANCH_NAME}-${GIT_SHA} ."
}
}
}
stage('Push Image') {
steps {
script {
withCredentials([usernamePassword(credentialsId: 'docke_cred', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) {
if (env.BRANCH_NAME == 'master') {
echo "Pushing image(s) with tag..."
sh "docker login -u${USERNAME} -p${PASSWORD} "
sh "docker push ${ORG}/${REPO}:${env.BRANCH_NAME}-${GIT_SHA}"
} else {
echo "WARNING: Not pushing Image"
}
}
}
}
}
}
post {
always {
echo 'This will always run'
deleteDir()
}
success {
echo 'This will run only if successful'
// slackSend channel: '#jenkins-builds',
// color: 'good',
// message: "The pipeline ${currentBuild.fullDisplayName} completed successfully :dance: :thumbsup: "
}
failure {
echo 'This will run only if failed'
// slackSend channel: '#jenkins-builds',
// color: 'RED',
// message: "The pipeline ${currentBuild.fullDisplayName} failed. :scream_cat: :japanese_goblin: "
}
unstable {
echo 'This will run only if the run was marked as unstable'
// slackSend channel: '#jenkins-builds',
// color: 'good',
// message: "The pipeline ${currentBuild.fullDisplayName} is unstable :scream_cat: :japanese_goblin: "
}
changed {
/* slackSend channel: '#jenkins-builds',
color: 'good',
message: "Build ${currentBuild.fullDisplayName} is now stable :dance: :thumbsup: "
echo 'This will run only if the state of the Pipeline has changed'
*/ echo 'For example, if the Pipeline was previously failing but is now successful'
}
}
}