diff --git a/vars/container.groovy b/vars/container.groovy index 43d9500..b7454f6 100644 --- a/vars/container.groovy +++ b/vars/container.groovy @@ -18,8 +18,9 @@ String buildAndPublishImage(Map options = [:]) { String contextDir = options.get('contextDir', '.') String imageName = options.get('imageName', '') String gitRef = sh(returnStdout: true, script: 'git describe --always').trim() - - List imageTags = options.get('imageTags', utils.getProjectVersionTags()) + + List defaultImageTags = utils.getProjectVersionTags() + [ "${utils.getProjectVersionDefaultChannel()}-latest" ] + List imageTags = options.get('imageTags', defaultImageTags) // Handle legacy imageTag parameter if (options.containsKey('imageTag')) { imageTags = [ options.get("imageTag", gitRef) ] diff --git a/vars/utils.groovy b/vars/utils.groovy index 9d7ffeb..aaa011a 100644 --- a/vars/utils.groovy +++ b/vars/utils.groovy @@ -44,19 +44,36 @@ String getBuildUser() { } String getProjectVersionDefaultChannel() { - return env.BRANCH_NAME.toLowerCase().replaceAll('(_|-| )+', '') + switch (env.BRANCH_NAME) { + case 'develop': + return 'develop' + + case 'testing': + case 'staging': + return 'testing' + + case 'stable': + case 'master': + return 'stable' + + default: + return env.BRANCH_NAME.toLowerCase().replaceAll('(_|-| )+', '') + } } String getProjectVersionShortChannel(String channel) { switch (channel) { case 'develop': return 'dev' + case 'testing': case 'staging': return 'tst' + case 'stable': case 'master': return 'stb' + default: return channel.toLowerCase().replaceAll('(a|e|i|o|u|y_|-| )+', '').take(3) }