From 832d38dea8e0966f27aff13d56687d13c65cc9a3 Mon Sep 17 00:00:00 2001 From: Pamela Dragosh Date: Thu, 23 Mar 2017 07:44:56 -0400 Subject: [PATCH] changing to NEXUS_DOCKER_REPO via Marco. Tags Change-Id: I8cdbf98141070f89dd3c668a1aa3317fc9df2683 Signed-off-by: Pamela Dragosh (cherry picked from commit e9f737a9b7287afd91e5b56580825fcccb8c8b9d) --- .gitignore | 1 + docker-compose.yml | 14 +++++++------- docker_build.sh | 46 ++++++++++++++++++++++++++++++++++------------ docker_merge.sh | 45 +++++++++++++++++++++++++++++++++++---------- docker_verify.sh | 35 +++++++++++++++++++++++++++++++++-- 5 files changed, 110 insertions(+), 31 deletions(-) diff --git a/.gitignore b/.gitignore index 5ddaecd7..84421f84 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +.DS_Store .project .settings target diff --git a/docker-compose.yml b/docker-compose.yml index 67719d9d..8dd23257 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,17 +1,17 @@ version: '2' services: mariadb: - image: ${DOCKER_REPOSITORY}/openecomp/policy/policy-db + image: openecomp/policy/policy-db container_name: mariadb hostname: mariadb ports: - "3306:3306" nexus: - image: ${DOCKER_REPOSITORY}/openecomp/policy/policy-nexus + image: openecomp/policy/policy-nexus container_name: nexus hostname: nexus pap: - image: ${DOCKER_REPOSITORY}/openecomp/policy/policy-pe + image: openecomp/policy/policy-pe container_name: pap depends_on: - mariadb @@ -23,7 +23,7 @@ services: volumes: - ./config/pe:/tmp/policy-install/config pdp: - image: ${DOCKER_REPOSITORY}/openecomp/policy/policy-pe + image: openecomp/policy/policy-pe container_name: pdp depends_on: - pap @@ -34,7 +34,7 @@ services: volumes: - ./config/pe:/tmp/policy-install/config pypdp: - image: ${DOCKER_REPOSITORY}/openecomp/policy/policy-pe + image: openecomp/policy/policy-pe container_name: pypdp depends_on: - pap @@ -45,7 +45,7 @@ services: volumes: - ./config/pe:/tmp/policy-install/config brmsgw: - image: ${DOCKER_REPOSITORY}/openecomp/policy/policy-pe + image: openecomp/policy/policy-pe container_name: brmsgw depends_on: - pap @@ -54,7 +54,7 @@ services: volumes: - ./config/pe:/tmp/policy-install/config drools: - image: ${DOCKER_REPOSITORY}/openecomp/policy/policy-drools + image: openecomp/policy/policy-drools container_name: drools depends_on: - mariadb diff --git a/docker_build.sh b/docker_build.sh index acd07c9a..22f9ea60 100755 --- a/docker_build.sh +++ b/docker_build.sh @@ -1,22 +1,37 @@ #!/bin/bash # echo '============== STARTING SCRIPT TO BUILD DOCKER IMAGES =================' - -# -# THIS SHOULD BE REPLACED WITH SPECIFIC REPOSITORY FOR THIS RELEASE -# DOCKER_REPOSITORY=nexus3.openecomp.org:10003 -# -# RELEASE BUILD CREATES latest tag and the STAGING tag -# MVN_VERSION=$(cat target/version) -MVN_VERSION="${MVN_VERSION}-STAGING" +MVN_MAJMIN_VERSION=$(cut -f 1,2 -d . target/version) TIMESTAMP=$(date -u +%Y%m%dT%H%M%S) echo $DOCKER_REPOSITORY echo $MVN_VERSION +echo $MVN_MAJMIN_VERSION echo $TIMESTAMP +if [[ -z $MVN_VERSION ]] +then + echo "MVN_VERSION is empty" + exit 1 +fi + +if [[ -z $MVN_MAJMIN_VERSION ]] +then + echo "MVN_MAJMIN_VERSION is empty" + exit 1 +fi + +if [[ $MVN_VERSION == *"SNAPSHOT"* ]] +then + MVN_MAJMIN_VERSION="${MVN_MAJMIN_VERSION}-SNAPSHOT" +else + MVN_MAJMIN_VERSION="${MVN_MAJMIN_VERSION}-STAGING" +fi + +echo $MVN_MAJMIN_VERSION + cp policy-pe/* target/policy-pe/ cp policy-drools/* target/policy-drools/ @@ -25,20 +40,27 @@ for image in policy-os policy-nexus policy-db policy-base policy-drools policy-p mkdir -p target/$image cp $image/* target/$image + # + # This is the local latest tagged image. The Dockerfile's need this to build images + # TAGS="--tag openecomp/policy/${image}:latest" - TAGS="${TAGS} --tag ${DOCKER_REPOSITORY}/openecomp/policy/${image}:latest" - TAGS="${TAGS} --tag ${DOCKER_REPOSITORY}/openecomp/policy/${image}:${MVN_VERSION}-latest" - TAGS="${TAGS} --tag openecomp/policy/${image}:${MVN_VERSION}-${TIMESTAMP}" + # + # This has the nexus repo prepended and only major/minor version with latest + # + TAGS="${TAGS} --tag ${DOCKER_REPOSITORY}/openecomp/policy/${image}:${MVN_MAJMIN_VERSION}-latest" + # + # This has the nexus repo prepended and major/minor/patch version with timestamp + # TAGS="${TAGS} --tag ${DOCKER_REPOSITORY}/openecomp/policy/${image}:${MVN_VERSION}-${TIMESTAMP}" echo $TAGS docker build --quiet $TAGS target/$image - docker images done for image in policy-nexus policy-db policy-drools policy-pe; do echo "Pushing $image" docker push ${DOCKER_REPOSITORY}/openecomp/policy/$image:latest + docker push ${DOCKER_REPOSITORY}/openecomp/policy/$image:${MVN_MAJMIN_VERSION}-latest docker push ${DOCKER_REPOSITORY}/openecomp/policy/$image:${MVN_VERSION}-${TIMESTAMP} done diff --git a/docker_merge.sh b/docker_merge.sh index 43e759a7..076f84b7 100755 --- a/docker_merge.sh +++ b/docker_merge.sh @@ -1,20 +1,37 @@ #!/bin/bash # echo '============== STARTING SCRIPT TO BUILD DOCKER IMAGES =================' -# -# THIS SHOULD POINT TO THE SNAPSHOT repo -# DOCKER_REPOSITORY=nexus3.openecomp.org:10003 -# -# Should be appended with -SNAPSHOT -# MVN_VERSION=$(cat target/version) +MVN_MAJMIN_VERSION=$(cut -f 1,2 -d . target/version) TIMESTAMP=$(date -u +%Y%m%dT%H%M%S) echo $DOCKER_REPOSITORY echo $MVN_VERSION +echo $MVN_MAJMIN_VERSION echo $TIMESTAMP +if [[ -z $MVN_VERSION ]] +then + echo "MVN_VERSION is empty" + exit 1 +fi + +if [[ -z $MVN_MAJMIN_VERSION ]] +then + echo "MVN_MAJMIN_VERSION is empty" + exit 1 +fi + +if [[ $MVN_VERSION == *"SNAPSHOT"* ]] +then + MVN_MAJMIN_VERSION="${MVN_MAJMIN_VERSION}-SNAPSHOT" +else + MVN_MAJMIN_VERSION="${MVN_MAJMIN_VERSION}-STAGING" +fi + +echo $MVN_MAJMIN_VERSION + cp policy-pe/* target/policy-pe/ cp policy-drools/* target/policy-drools/ @@ -23,21 +40,29 @@ for image in policy-os policy-nexus policy-db policy-base policy-drools policy-p mkdir -p target/$image cp $image/* target/$image + # + # This is the local latest tagged image. The Dockerfile's need this to build images + # TAGS="--tag openecomp/policy/${image}:latest" - TAGS="${TAGS} --tag ${DOCKER_REPOSITORY}/openecomp/policy/${image}:latest" - TAGS="${TAGS} --tag openecomp/policy/${image}:${MVN_VERSION}-${TIMESTAMP}" + # + # This has the nexus repo prepended and only major/minor version with latest + # + TAGS="${TAGS} --tag ${DOCKER_REPOSITORY}/openecomp/policy/${image}:${MVN_MAJMIN_VERSION}-latest" + # + # This has the nexus repo prepended and major/minor/patch version with timestamp + # TAGS="${TAGS} --tag ${DOCKER_REPOSITORY}/openecomp/policy/${image}:${MVN_VERSION}-${TIMESTAMP}" echo $TAGS docker build --quiet $TAGS target/$image - docker images done # -# NO latest tag. SNAPSHOTS are for internal testing +# Push images # for image in policy-nexus policy-db policy-drools policy-pe; do echo "Pushing $image" + docker push ${DOCKER_REPOSITORY}/openecomp/policy/$image:${MVN_MAJMIN_VERSION}-latest docker push ${DOCKER_REPOSITORY}/openecomp/policy/$image:${MVN_VERSION}-${TIMESTAMP} done diff --git a/docker_verify.sh b/docker_verify.sh index 31420846..3c9be833 100755 --- a/docker_verify.sh +++ b/docker_verify.sh @@ -6,12 +6,35 @@ echo '============== STARTING SCRIPT TO BUILD DOCKER IMAGES =================' # DOCKER_REPOSITORY=nexus3.openecomp.org:10003 MVN_VERSION=$(cat target/version) +MVN_MAJMIN_VERSION=$(cut -f 1,2 -d . target/version) TIMESTAMP=$(date -u +%Y%m%dT%H%M%S) echo $DOCKER_REPOSITORY echo $MVN_VERSION +echo $MVN_MAJMIN_VERSION echo $TIMESTAMP +if [[ -z $MVN_VERSION ]] +then + echo "MVN_VERSION is empty" + exit 1 +fi + +if [[ -z $MVN_MAJMIN_VERSION ]] +then + echo "MVN_MAJMIN_VERSION is empty" + exit 1 +fi + +if [[ $MVN_VERSION == *"SNAPSHOT"* ]] +then + MVN_MAJMIN_VERSION="${MVN_MAJMIN_VERSION}-SNAPSHOT" +else + MVN_MAJMIN_VERSION="${MVN_MAJMIN_VERSION}-STAGING" +fi + +echo $MVN_MAJMIN_VERSION + cp policy-pe/* target/policy-pe/ cp policy-drools/* target/policy-drools/ @@ -20,9 +43,17 @@ for image in policy-os policy-nexus policy-db policy-base policy-drools policy-p mkdir -p target/$image cp $image/* target/$image + # + # This is the local latest tagged image. The Dockerfile's need this to build images + # TAGS="--tag openecomp/policy/${image}:latest" - TAGS="${TAGS} --tag ${DOCKER_REPOSITORY}/openecomp/policy/${image}:latest" - TAGS="${TAGS} --tag openecomp/policy/${image}:${MVN_VERSION}-${TIMESTAMP}" + # + # This has the nexus repo prepended and only major/minor version with latest + # + TAGS="${TAGS} --tag ${DOCKER_REPOSITORY}/openecomp/policy/${image}:${MVN_MAJMIN_VERSION}-latest" + # + # This has the nexus repo prepended and major/minor/patch version with timestamp + # TAGS="${TAGS} --tag ${DOCKER_REPOSITORY}/openecomp/policy/${image}:${MVN_VERSION}-${TIMESTAMP}" echo $TAGS -- 2.16.6