From f4862db35488074f7e6e76a020f4a8c3849cba6a Mon Sep 17 00:00:00 2001 From: Joseph Manley Date: Fri, 19 Jul 2019 11:04:58 -0400 Subject: [PATCH 1/9] Made changes required by changes to other projects --- .bumpversion.cfg | 17 ++++++++--------- Jenkinsfile | 43 ++++++++++++++++++++++++++++++++++++------- VERSION | 1 + 3 files changed, 45 insertions(+), 16 deletions(-) create mode 100644 VERSION diff --git a/.bumpversion.cfg b/.bumpversion.cfg index 8d72620..d645bfb 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,17 +1,16 @@ [bumpversion] -current_version = 1.4.0 +current_version = 1.0.0 commit = True tag = True tag_name = {new_version} message = Bump version: {current_version} -> {new_version} -[bumpversion:file:semver.semver] -search = version = {current_version} -replace = version = {new_version} +[bumpversion:file:VERSION] +search = __version__ = {current_version} +replace = __version__ = {new_version} [semver] -main_branches = develops, env-test, env-stage, env-prod -major_branches = -minor_branches = feature, RightBrain-Networks/feature -patch_branches = hotfix, bugfix - +main_branches = development +major_branches = +minor_branches = feature +patch_branches = bugfix, hotfix \ No newline at end of file diff --git a/Jenkinsfile b/Jenkinsfile index 345abe1..f78ff23 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,19 +1,48 @@ -library('pipeline-library@feature/add-with-ecr') +library('pipeline-library') pipeline { options { timestamps() } agent any environment { SERVICE = 'kmstool' - GITHUB_KEY = 'Jenkins' - GITHUB_URL = 'https://github.com/dejonghe/kmstool' + GITHUB_KEY = 'kmstoolDeployKey' + GITHUB_URL = 'git@github.com:dejonghe/kmstool.git' DOCKER_REGISTRY = '356438515751.dkr.ecr.us-east-1.amazonaws.com' } stages { + stage("Pull Versioning Image") + { + steps + { + withEcr { + sh "docker pull ${DOCKER_REGISTRY}/auto-semver" + } + } + } stage('Version') { + agent { + docker { + image "${DOCKER_REGISTRY}/auto-semver" + } + } steps { // runs the automatic semver tool which will version, & tag, runAutoSemver() + + //Grabs current version + script + { + env.VERSION = getVersion('-d') + } + } + post{ + // Update Git with status of version stage. + success { + updateGithubCommitStatus(GITHUB_URL, 'Passed version stage', 'SUCCESS', 'Version') + } + failure { + updateGithubCommitStatus(GITHUB_URL, 'Failed version stage', 'FAILURE', 'Version') + } } } stage('Build') { @@ -23,9 +52,9 @@ pipeline { echo "Building ${env.SERVICE} docker image" // Docker build flags are set via the getDockerBuildFlags() shared library. - sh "docker build ${getDockerBuildFlags()} -t ${env.DOCKER_REGISTRY}/${env.SERVICE}:${getVersion('-d')} ." + sh "docker build ${getDockerBuildFlags()} -t ${env.DOCKER_REGISTRY}/${env.SERVICE}:${env.VERSION} ." - sh "tar -czvf ${env.SERVICE}-${getVersion('-d')}.tar.gz kmstool" + sh "tar -czvf ${env.SERVICE}-${env.VERSION}.tar.gz kmstool" } post{ // Update Git with status of build stage. @@ -41,11 +70,11 @@ pipeline { { steps { withEcr { - sh "docker push ${env.DOCKER_REGISTRY}/${env.SERVICE}:${getVersion('-d')}" + sh "docker push ${env.DOCKER_REGISTRY}/${env.SERVICE}:${env.VERSION}" } //Copy tar.gz file to s3 bucket - sh "aws s3 cp ${env.SERVICE}-${getVersion('-d')}.tar.gz s3://rbn-ops-pkg-us-east-1/${env.SERVICE}/${env.SERVICE}-${getVersion('-d')}.tar.gz" + sh "aws s3 cp ${env.SERVICE}-${env.VERSION}.tar.gz s3://rbn-ops-pkg-us-east-1/${env.SERVICE}/${env.SERVICE}-${env.VERSION}.tar.gz" } post{ diff --git a/VERSION b/VERSION new file mode 100644 index 0000000..f1263e7 --- /dev/null +++ b/VERSION @@ -0,0 +1 @@ +__version__ = 1.0.0 \ No newline at end of file From 5a68c449d57fa5cc671ed20a9d797cde01597d99 Mon Sep 17 00:00:00 2001 From: Joseph Manley Date: Fri, 19 Jul 2019 11:08:53 -0400 Subject: [PATCH 2/9] Push to latest tag --- Jenkinsfile | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Jenkinsfile b/Jenkinsfile index f78ff23..ef670ff 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -71,6 +71,14 @@ pipeline { steps { withEcr { sh "docker push ${env.DOCKER_REGISTRY}/${env.SERVICE}:${env.VERSION}" + script + { + if("${env.BRANCH_NAME}" == "development") + { + sh "docker tag ${env.DOCKER_REGISTRY}/${env.SERVICE}:${env.VERSION} ${env.DOCKER_REGISTRY}/${env.SERVICE}:latest" + sh "docker push ${env.DOCKER_REGISTRY}/${env.SERVICE}:latest" + } + } } //Copy tar.gz file to s3 bucket From 0f7b35426376a03dc6d9e3fc5da0b85d9c22183a Mon Sep 17 00:00:00 2001 From: Joseph Manley Date: Fri, 19 Jul 2019 11:09:53 -0400 Subject: [PATCH 3/9] Test latest tag --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index ef670ff..8cbc61e 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -73,7 +73,7 @@ pipeline { sh "docker push ${env.DOCKER_REGISTRY}/${env.SERVICE}:${env.VERSION}" script { - if("${env.BRANCH_NAME}" == "development") + if("${env.BRANCH_NAME}" == "bugfix.pipeline") { sh "docker tag ${env.DOCKER_REGISTRY}/${env.SERVICE}:${env.VERSION} ${env.DOCKER_REGISTRY}/${env.SERVICE}:latest" sh "docker push ${env.DOCKER_REGISTRY}/${env.SERVICE}:latest" From cbbba1179b9116ce4e94792b6ad4707a8f286dd1 Mon Sep 17 00:00:00 2001 From: Joseph Manley Date: Fri, 19 Jul 2019 11:15:01 -0400 Subject: [PATCH 4/9] test true --- Jenkinsfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 8cbc61e..00570de 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -73,7 +73,8 @@ pipeline { sh "docker push ${env.DOCKER_REGISTRY}/${env.SERVICE}:${env.VERSION}" script { - if("${env.BRANCH_NAME}" == "bugfix.pipeline") + //if("${env.BRANCH_NAME}" == "bugfix.pipeline") + if(true) { sh "docker tag ${env.DOCKER_REGISTRY}/${env.SERVICE}:${env.VERSION} ${env.DOCKER_REGISTRY}/${env.SERVICE}:latest" sh "docker push ${env.DOCKER_REGISTRY}/${env.SERVICE}:latest" From e996b9a7df137d7b3dfcc8912c19ad9d1ddbd4e2 Mon Sep 17 00:00:00 2001 From: Joseph Manley Date: Fri, 19 Jul 2019 11:17:45 -0400 Subject: [PATCH 5/9] Removed test case --- Jenkinsfile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 00570de..ef670ff 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -73,8 +73,7 @@ pipeline { sh "docker push ${env.DOCKER_REGISTRY}/${env.SERVICE}:${env.VERSION}" script { - //if("${env.BRANCH_NAME}" == "bugfix.pipeline") - if(true) + if("${env.BRANCH_NAME}" == "development") { sh "docker tag ${env.DOCKER_REGISTRY}/${env.SERVICE}:${env.VERSION} ${env.DOCKER_REGISTRY}/${env.SERVICE}:latest" sh "docker push ${env.DOCKER_REGISTRY}/${env.SERVICE}:latest" From 52cf4bae3d5638db9eedb62f8ac70decfb378945 Mon Sep 17 00:00:00 2001 From: Joseph Manley Date: Fri, 19 Jul 2019 11:20:12 -0400 Subject: [PATCH 6/9] Set to correct version --- .bumpversion.cfg | 2 +- VERSION | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.bumpversion.cfg b/.bumpversion.cfg index d645bfb..d66d0e4 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 1.0.0 +current_version = 1.4.0 commit = True tag = True tag_name = {new_version} diff --git a/VERSION b/VERSION index f1263e7..540c233 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -__version__ = 1.0.0 \ No newline at end of file +__version__ = 1.4.0 \ No newline at end of file From 81e95969d9061554a0460b0cd3a22206c39c8bec Mon Sep 17 00:00:00 2001 From: Joseph Manley Date: Thu, 29 Aug 2019 14:32:24 -0400 Subject: [PATCH 7/9] Update working with semver --- Jenkinsfile | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index ef670ff..4b7cf84 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -10,29 +10,11 @@ pipeline { DOCKER_REGISTRY = '356438515751.dkr.ecr.us-east-1.amazonaws.com' } stages { - stage("Pull Versioning Image") - { - steps - { - withEcr { - sh "docker pull ${DOCKER_REGISTRY}/auto-semver" - } - } - } stage('Version') { - agent { - docker { - image "${DOCKER_REGISTRY}/auto-semver" - } - } steps { // runs the automatic semver tool which will version, & tag, - runAutoSemver() - - //Grabs current version - script - { - env.VERSION = getVersion('-d') + withEcr { + runAutoSemver() } } post{ From e12c14c7369fbebfe25de0c38b6fefe5213878fb Mon Sep 17 00:00:00 2001 From: Joseph Manley Date: Thu, 29 Aug 2019 14:33:55 -0400 Subject: [PATCH 8/9] Push version & tag --- Jenkinsfile | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 4b7cf84..e4f3a29 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -48,7 +48,7 @@ pipeline { } } } - stage('Push') + stage('Ship') { steps { withEcr { @@ -70,13 +70,19 @@ pipeline { post{ // Update Git with status of push stage. success { - updateGithubCommitStatus(GITHUB_URL, 'Passed push stage', 'SUCCESS', 'Push') + updateGithubCommitStatus(GITHUB_URL, 'Passed ship stage', 'SUCCESS', 'Ship') } failure { - updateGithubCommitStatus(GITHUB_URL, 'Failed push stage', 'FAILURE', 'Push') + updateGithubCommitStatus(GITHUB_URL, 'Failed ship stage', 'FAILURE', 'Ship') } } } + stage('Push Version and Tag') { + steps { + echo "The current branch is ${env.BRANCH_NAME}." + gitPush(env.GITHUB_KEY, env.BRANCH_NAME, true) + } + } } post { always { From 676ed6091a8dc97fe4508db033313214eddb77c8 Mon Sep 17 00:00:00 2001 From: Joseph Manley Date: Thu, 29 Aug 2019 14:35:01 -0400 Subject: [PATCH 9/9] VERSION -> SEMVER_RESOLVED_VERSION --- Jenkinsfile | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index e4f3a29..e203846 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -34,9 +34,9 @@ pipeline { echo "Building ${env.SERVICE} docker image" // Docker build flags are set via the getDockerBuildFlags() shared library. - sh "docker build ${getDockerBuildFlags()} -t ${env.DOCKER_REGISTRY}/${env.SERVICE}:${env.VERSION} ." + sh "docker build ${getDockerBuildFlags()} -t ${env.DOCKER_REGISTRY}/${env.SERVICE}:${env.SEMVER_RESOLVED_VERSION} ." - sh "tar -czvf ${env.SERVICE}-${env.VERSION}.tar.gz kmstool" + sh "tar -czvf ${env.SERVICE}-${env.SEMVER_RESOLVED_VERSION}.tar.gz kmstool" } post{ // Update Git with status of build stage. @@ -52,19 +52,19 @@ pipeline { { steps { withEcr { - sh "docker push ${env.DOCKER_REGISTRY}/${env.SERVICE}:${env.VERSION}" + sh "docker push ${env.DOCKER_REGISTRY}/${env.SERVICE}:${env.SEMVER_RESOLVED_VERSION}" script { if("${env.BRANCH_NAME}" == "development") { - sh "docker tag ${env.DOCKER_REGISTRY}/${env.SERVICE}:${env.VERSION} ${env.DOCKER_REGISTRY}/${env.SERVICE}:latest" + sh "docker tag ${env.DOCKER_REGISTRY}/${env.SERVICE}:${env.SEMVER_RESOLVED_VERSION} ${env.DOCKER_REGISTRY}/${env.SERVICE}:latest" sh "docker push ${env.DOCKER_REGISTRY}/${env.SERVICE}:latest" } } } //Copy tar.gz file to s3 bucket - sh "aws s3 cp ${env.SERVICE}-${env.VERSION}.tar.gz s3://rbn-ops-pkg-us-east-1/${env.SERVICE}/${env.SERVICE}-${env.VERSION}.tar.gz" + sh "aws s3 cp ${env.SERVICE}-${env.SEMVER_RESOLVED_VERSION}.tar.gz s3://rbn-ops-pkg-us-east-1/${env.SERVICE}/${env.SERVICE}-${env.SEMVER_RESOLVED_VERSION}.tar.gz" } post{