38 lines
1005 B
Groovy
38 lines
1005 B
Groovy
library('jenkins_build')
|
|
|
|
node {
|
|
|
|
main {
|
|
def projectName = env.JOB_BASE_NAME
|
|
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"
|
|
}
|
|
}
|
|
}
|