Skip to content
Permalink
Browse files

Create Jenkinsfile

  • Loading branch information...
chubing committed Aug 3, 2018
1 parent d7c81f2 commit c9f54b39823108e24bc7d17c82eb443b1a1d8d11
Showing with 84 additions and 0 deletions.
  1. +84 −0 Jenkinsfile
@@ -0,0 +1,84 @@
pipeline {
agent any
environment {
maintainer = "t"
imagename = 'g'
tag = 'l'
version='3.1.1'
}
stages {
stage('Setting build context') {
steps {
script {
maintainer = maintain()
imagename = imagename()
version= registryversion()
if(env.BRANCH_NAME == "master") {
tag = "latest"
} else {
tag = env.BRANCH_NAME
}
if(!imagename){
echo "You must define an imagename in common.bash"
currentBuild.result = 'FAILURE'
}
}
}
}
stage('Build') {
steps {
echo 'step 2'
}
}
stage('Push') {
steps {
script {
docker.withRegistry('https://registry.hub.docker.com/', "dockerhub-$maintainer") {
def baseImg = docker.build("$maintainer/$imagename", "--build-arg COMANAGE_REGISTRY_VERSION=$version .")
baseImg.push("$tag")
}
}
}
}
stage('Notify') {
steps{
echo "$maintainer"
slackSend color: 'good', message: "$maintainer/$imagename:$tag pushed to DockerHub"
}
}
}
post {
always {
echo 'In post.'
}
failure {
// slackSend color: 'good', message: "Build failed"
handleError("BUILD ERROR: There was a problem building ${maintainer}/${imagename}:${tag}.")
}
}
}


def maintain() {
def matcher = readFile('common.bash') =~ 'maintainer="(.+)"'
matcher ? matcher[0][1] : 'tier'
}

def imagename() {
def matcher = readFile('common.bash') =~ 'imagename="(.+)"'
matcher ? matcher[0][1] : null
}

def registryversion() {
def matcher = readFile('common.bash') =~ 'COMANAGE_REGISTRY_VERSION="(.+)"'
matcher ? matcher[0][1] : null
}


def handleError(String message){
echo "${message}"
currentBuild.setResult("FAILED")
slackSend color: 'danger', message: "${message}"
//step([$class: 'Mailer', notifyEveryUnstableBuild: true, recipients: 'chubing@internet2.edu', sendToIndividuals: true])
sh 'exit 1'
}

0 comments on commit c9f54b3

Please sign in to comment.
You can’t perform that action at this time.