2016-12-16 10:34:37 +00:00
|
|
|
@Library('ocutil') _
|
2016-12-15 16:35:06 +00:00
|
|
|
|
|
|
|
node() {
|
2017-01-02 13:25:23 +00:00
|
|
|
def gitVersionCmd = "mono /usr/local/GitVersion/GitVersion.exe"
|
|
|
|
|
2016-12-09 15:48:52 +00:00
|
|
|
stage("Checkout") {
|
2017-01-02 03:00:35 +00:00
|
|
|
deleteDir()
|
2017-01-02 03:10:21 +00:00
|
|
|
git(url: "https://github.com/omallo/ruby-ex.git", credentialsId: "github-omallo")
|
2016-12-09 15:48:52 +00:00
|
|
|
}
|
2016-12-09 15:41:36 +00:00
|
|
|
|
2016-12-16 10:42:14 +00:00
|
|
|
def config = ocutil.parseConfig(readFile("deployment/config.yaml"))
|
2016-12-09 14:55:28 +00:00
|
|
|
|
2017-01-03 00:33:29 +00:00
|
|
|
def fullSemVer = sh(script: "${gitVersionCmd} /showvariable FullSemVer", returnStdout: true).trim()
|
|
|
|
def buildVersion = "${fullSemVer}+${currentBuild.number}"
|
2017-01-02 23:29:33 +00:00
|
|
|
def tagVersion = sh(script: "${gitVersionCmd} /showvariable MajorMinorPatch", returnStdout: true).trim()
|
|
|
|
echo "versions: buildVersion=${buildVersion}, tagVersion=${tagVersion}"
|
|
|
|
|
2016-12-09 15:48:52 +00:00
|
|
|
stage("Build") {
|
2017-01-02 23:32:19 +00:00
|
|
|
sh "sed -e 's/{{BUILD_VERSION}}/${buildVersion}/g' -i config.ru"
|
2016-12-16 10:49:10 +00:00
|
|
|
ocutil.ocBuild("rubex-dev", "frontend", config.dev.build.frontend)
|
2016-12-05 14:32:22 +00:00
|
|
|
}
|
|
|
|
|
2016-12-09 15:48:52 +00:00
|
|
|
stage("Deploy to DEV") {
|
2016-12-16 10:40:33 +00:00
|
|
|
ocutil.ocTag("rubex-dev", "frontend", "latest", "dev")
|
2017-01-02 23:21:04 +00:00
|
|
|
ocutil.ocRollout("rubex-dev", "frontend", config.dev.deployment.frontend)
|
2016-12-05 14:32:22 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
def isPromoteToTest = false
|
2016-12-09 13:33:03 +00:00
|
|
|
stage("Promote to TEST?") {
|
|
|
|
isPromoteToTest = input(message: "Promotion", parameters: [booleanParam(defaultValue: false, name: "Promote to TEST?")])
|
2016-12-05 14:32:22 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (isPromoteToTest) {
|
2016-12-09 13:33:03 +00:00
|
|
|
stage("Deploy to TEST") {
|
2017-01-02 04:07:48 +00:00
|
|
|
withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: 'github-omallo', usernameVariable: 'GIT_USERNAME', passwordVariable: 'GIT_PASSWORD']]) {
|
|
|
|
sh "git tag ${tagVersion}"
|
|
|
|
sh "git push --tags https://${GIT_USERNAME}:${GIT_PASSWORD}@github.com/omallo/ruby-ex.git"
|
|
|
|
}
|
2017-01-02 02:45:03 +00:00
|
|
|
|
2017-01-02 03:47:20 +00:00
|
|
|
ocutil.ocTag("rubex-dev", "frontend", "dev", tagVersion)
|
|
|
|
ocutil.ocTag("rubex-dev", "frontend", tagVersion, "test")
|
2017-01-02 23:21:04 +00:00
|
|
|
ocutil.ocRollout("rubex-test", "frontend", config.test.deployment.frontend)
|
2016-12-05 14:32:22 +00:00
|
|
|
}
|
2016-12-09 15:48:52 +00:00
|
|
|
}
|
2016-12-05 14:32:22 +00:00
|
|
|
}
|