Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
add files to use Jenkins
satkinson committed Jul 26, 2023
1 parent 19bfba1 commit bb50f2f
Showing 2 changed files with 108 additions and 0 deletions.
105 changes: 105 additions & 0 deletions Jenkinsfile
@@ -0,0 +1,105 @@
pipeline {
agent any
environment {
maintainer = "t"
maintainer_credential_ref = 'dockerhub-tier'
imagename = 'g'
tag = 'l'
version='1.1.1'
}
stages {
stage('Setting build context') {
steps {
script {
maintainer = maintain()
imagename = imagename()
version= matchversion()
if(env.BRANCH_NAME == "main") {
tag = "latest"
} else {
tag = env.BRANCH_NAME
}
if(!imagename){
echo "You must define an imagename in common.bash"
currentBuild.result = 'FAILURE'
}
}
}
}
stage('Build and Push') {
steps {
script {
docker.withRegistry('https://registry.hub.docker.com/', "$maintainer_credential_ref") {
def image_to_build
def image_dir
def build_arg

image_to_build = "comanage-match-base:$version-1"
image_dir = 'comanage-match-base'
build_arg = '--no-cache ' +
"--build-arg COMANAGE_MATCH_VERSION=$version " +
"-f ./$image_dir/Dockerfile ./$image_dir"
def base_image = docker.build("$image_to_build", "$build_arg")

image_to_build = 'comanage-match-internet2-tap-base:1'
image_dir = 'comanage-match-internet2-tap-base'
build_arg = '--no-cache ' +
"-f ./$image_dir/Dockerfile ./$image_dir"
def tap_base_image = docker.build("$image_to_build", "$build_arg")

image_to_build = "$maintainer/$imagename"
image_dir = 'comanage-match-internet2-tap'
build_arg = '--no-cache ' +
"--build-arg COMANAGE_MATCH_VERSION=$version " +
"--build-arg COMANAGE_MATCH_BASE_IMAGE_VERSION=1 " +
"--build-arg COMANAGE_MATCH_I2_BASE_IMAGE_VERSION=1 " +
"-f ./$image_dir/Dockerfile ./$image_dir"
def tap_image = docker.build("$image_to_build", "$build_arg")
tap_image.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 matchversion() {
def matcher = readFile('common.bash') =~ 'COMANAGE_MATCH_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'
}
3 changes: 3 additions & 0 deletions common.bash
@@ -0,0 +1,3 @@
maintainer="i2incommon"
imagename="comanage-match"
COMANAGE_MATCH_VERSION="1.1.1"

0 comments on commit bb50f2f

Please sign in to comment.