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" } } }