46 lines
1.3 KiB
Groovy
46 lines
1.3 KiB
Groovy
library('jenkins_build')
|
|
|
|
node {
|
|
|
|
docker.withRegistry('https://registry.elbert.us', '6ad2f24c-6da4-4cdb-b526-4773922fb0d5') {
|
|
|
|
main {
|
|
|
|
def jobnameparts = JOB_NAME.tokenize('/') as String[]
|
|
def jobconsolename = jobnameparts[0]
|
|
|
|
def projectName = jobconsolename
|
|
def dockerImageName = "registry.elbert.us/${projectName}"
|
|
def sourceFigFile = "./docker-compose-rlyeh.yml"
|
|
def figFile = "/etc/fig/${projectName}.yml"
|
|
|
|
|
|
def dockerImage
|
|
|
|
stage("Checkout") {
|
|
checkout scm
|
|
}
|
|
|
|
stage("Build") {
|
|
dockerImage = docker.build("${dockerImageName}:latest")
|
|
}
|
|
|
|
stage("Deploy") {
|
|
|
|
dockerImage.push()
|
|
dockerImage.push("production")
|
|
|
|
sh "/usr/local/bin/docker-compose --project-name '${projectName}' --file '${sourceFigFile}' pull"
|
|
|
|
if (fileExists(figFile)) {
|
|
sh "/usr/local/bin/docker-compose --project-name '${projectName}' --file '${figFile}' down"
|
|
}
|
|
|
|
sh "cp ${sourceFigFile} ${figFile}"
|
|
|
|
sh "/usr/local/bin/docker-compose --project-name '${projectName}' --file '${figFile}' up -d"
|
|
}
|
|
}
|
|
}
|
|
}
|