Skip to content

Instantly share code, notes, and snippets.

@frbayart
Last active June 5, 2020 09:21
Show Gist options
  • Save frbayart/394512e7cc647a9e2ab9140b37d6c1fa to your computer and use it in GitHub Desktop.
Save frbayart/394512e7cc647a9e2ab9140b37d6c1fa to your computer and use it in GitHub Desktop.
stage('Init variables') {
dir(env.WORKSPACE) {
timeout(time: 1, unit: 'MINUTES') {
retry(2) {
appName = readFile("${WORKSPACE}/PACKAGE_NAME.txt").trim()
env.PACKAGE_NAME = appName
appVersion = readFile("${WORKSPACE}/VERSION.txt").trim()
configFileProvider([configFile(fileId: 'ef67610e-0037-4700-b0be-581c05aa6293', targetLocation: './check-version.sh')]) {
sh 'chmod +x ./check-version.sh'
sh(returnStatus: false, returnStdout: true, script: "./check-version.sh v1 $appVersion")
}
}
}
git_commit = sh(returnStatus: false, returnStdout: true, script: "git rev-parse HEAD").trim()
timeStamp = sh(returnStatus: false, returnStdout: true, script: 'date +%y%m%d%H%M%S').trim()
buildLogCount = sh(returnStatus: false, returnStdout: true, script: "git log ${git_commit} --pretty=oneline | wc -l").trim()
switch(env.BRANCH_NAME) {
case "master":
env.RELEASE = "YES"
env.KENSU_GIT_VERSION = appVersion
env.KENSU_DEB_VERSION = appVersion
env.KENSU_DOCKER_VERSION = appVersion
env.KENSU_PYTHON_VERSION = appVersion
env.READY_TO_TAG = "YES"
env.NEXUS_PUBLISH = "YES"
break
case ~/support\/.*/:
env.RELEASE = "YES"
env.KENSU_GIT_VERSION = appVersion
env.KENSU_DEB_VERSION = appVersion
env.KENSU_DOCKER_VERSION = appVersion
env.KENSU_PYTHON_VERSION = appVersion
env.READY_TO_TAG = "YES"
env.NEXUS_PUBLISH = "YES"
break
case ~/hotfix\/.*/:
env.RELEASE = "YES"
env.KENSU_GIT_VERSION = appVersion + "-fix" + buildLogCount
env.KENSU_DEB_VERSION = appVersion + "~fix" + buildLogCount
env.KENSU_DOCKER_VERSION = appVersion + "-fix" + buildLogCount
env.KENSU_PYTHON_VERSION = appVersion + "f" + buildLogCount
env.READY_TO_TAG = "NO"
env.NEXUS_PUBLISH = "YES"
break
case ~/release\/.*/:
env.RELEASE = "YES"
env.KENSU_GIT_VERSION = appVersion + "-rc" + buildLogCount
env.KENSU_DEB_VERSION = appVersion + "~rc" + buildLogCount
env.KENSU_DOCKER_VERSION = appVersion + "-rc" + buildLogCount
env.KENSU_PYTHON_VERSION = appVersion + "r" + buildLogCount
env.READY_TO_TAG = "YES"
env.NEXUS_PUBLISH = "YES"
break
default:
env.RELEASE = "NO"
env.KENSU_GIT_VERSION = appVersion + "-alpha" + timeStamp
env.KENSU_DEB_VERSION = appVersion + "~alpha" + timeStamp
env.KENSU_DOCKER_VERSION = appVersion + "-alpha" + timeStamp
env.KENSU_PYTHON_VERSION = appVersion + "a" + timeStamp
env.READY_TO_TAG = "NO"
env.NEXUS_PUBLISH = "YES"
break
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment