From: Mike Marchetti Date: Mon, 15 Oct 2018 13:40:57 +0000 (-0400) Subject: Add docker push rules X-Git-Tag: v5.0.0~76 X-Git-Url: https://osm.etsi.org/gitweb/?a=commitdiff_plain;h=c21682ce59fc2e73c65c0abee36d990c3fd4b161;p=osm%2Fdevops.git Add docker push rules Change-Id: I819515f0d5879b0cedad0d70146bb3161bbebe3d Signed-off-by: Mike Marchetti --- diff --git a/docker/mk/Makefile.include b/docker/mk/Makefile.include index fb576e7b..04d2fac6 100644 --- a/docker/mk/Makefile.include +++ b/docker/mk/Makefile.include @@ -56,4 +56,7 @@ clean: rm -f $(MKBUILD)/.dep* tag: - docker tag osm/$(CONTAINER_NAME) osm/$(LOWER_MDG):$(TAG) + docker tag osm/$(CONTAINER_NAME):$(INPUT_TAG) opensourcemano/$(LOWER_MDG):$(TAG) + +push: tag + docker push opensourcemano/$(LOWER_MDG):$(TAG) diff --git a/docker/mk/dirs.mk b/docker/mk/dirs.mk index 53846cc5..91100bb9 100644 --- a/docker/mk/dirs.mk +++ b/docker/mk/dirs.mk @@ -20,8 +20,9 @@ TOOLS_DIR := $(TOPDIR)/tools SUBDIRS_CLEAN = $(addsuffix .clean, $(SUBDIRS)) SUBDIRS_TEST = $(addsuffix .test, $(SUBDIRS)) SUBDIRS_TAG = $(addsuffix .tag, $(SUBDIRS)) +SUBDIRS_PUSH = $(addsuffix .push, $(SUBDIRS)) -.PHONY: $(SUBDIRS) $(SUBDIRS_CLEAN) clean test tag +.PHONY: $(SUBDIRS) $(SUBDIRS_CLEAN) clean test tag push all: $(SUBDIRS) @@ -40,6 +41,9 @@ $(SUBDIRS_TEST): %.test: $(SUBDIRS_TAG): %.tag: @$(MAKE) --no-print-directory -C $* tag +$(SUBDIRS_PUSH): %.push: + @$(MAKE) --no-print-directory -C $* push + $(SUBDIRS): @$(MAKE) --no-print-directory -C $@ diff --git a/jenkins/ci-pipelines/ci_stage_3.groovy b/jenkins/ci-pipelines/ci_stage_3.groovy index ec4cdaff..1e9eb5a4 100644 --- a/jenkins/ci-pipelines/ci_stage_3.groovy +++ b/jenkins/ci-pipelines/ci_stage_3.groovy @@ -31,6 +31,7 @@ properties([ string(defaultValue: 'dpkg1', description: '', name: 'GPG_KEY_NAME'), string(defaultValue: 'artifactory-osm', description: '', name: 'ARTIFACTORY_SERVER'), string(defaultValue: 'osm-stage_4', description: '', name: 'DOWNSTREAM_STAGE_NAME'), + string(defaultValue: 'releasefive-daily', description: '', name: 'DOCKER_TAG'), booleanParam(defaultValue: false, description: '', name: 'SAVE_CONTAINER_ON_FAIL'), booleanParam(defaultValue: false, description: '', name: 'SAVE_CONTAINER_ON_PASS'), booleanParam(defaultValue: true, description: '', name: 'SAVE_ARTIFACTS_ON_SMOKE_SUCCESS'), @@ -38,6 +39,7 @@ properties([ booleanParam(defaultValue: true, description: '', name: 'DO_BUILD'), booleanParam(defaultValue: true, description: '', name: 'DO_INSTALL'), booleanParam(defaultValue: true, description: '', name: 'DO_SMOKE'), + booleanParam(defaultValue: true, description: '', name: 'DO_DOCKERPUSH'), booleanParam(defaultValue: false, description: '', name: 'SAVE_ARTIFACTS_OVERRIDE'), ]) ]) @@ -75,8 +77,13 @@ node("${params.NODE}") { upstream_main_job += '-merge' container_name_prefix = "osm-${tag_or_branch}" container_name = "${container_name_prefix}" + + keep_artifacts = false if ( JOB_NAME.contains('merge') ) { container_name += "-merge" + + // On a merge job, we keep artifacts on smoke success + keep_artifacts = params.SAVE_ARTIFACTS_ON_SMOKE_SUCCESS } container_name += "-${BUILD_NUMBER}" @@ -237,7 +244,7 @@ node("${params.NODE}") { // archive smoke success until stage_4 is ready if ( ! currentBuild.result.equals('UNSTABLE') ) { - stage_archive = params.SAVE_ARTIFACTS_ON_SMOKE_SUCCESS + stage_archive = keep_artifacts } } } @@ -267,6 +274,11 @@ node("${params.NODE}") { dir("${RELEASE_DIR}") { ci_helper.archive(params.ARTIFACTORY_SERVER,RELEASE,GERRIT_BRANCH,'tested') } + if ( params.DO_DOCKERPUSH ) { + stage("Docker Push") { + sh "make -C docker push INPUT_TAG=${container_name} TAG=${params.DOCKER_TAG}" + } + } } } }