Add Sonar Inspection Jobs for Holmes
[ci-management.git] / jjb / include-docker-push.sh
index 929b6a2..57a0264 100644 (file)
@@ -1,12 +1,59 @@
 #!/bin/bash
 
-DOCKER_REPOSITORY="nexus3.openecomp.org:10003"
+DOCKER_REPOSITORY="nexus3.onap.org:10003"
 SEARCH="aai-service";
+DATETIME_STAMP=$(date +%Y%m%dT%H%M%S);
+VERSION_FILE="version.properties"
+
+# Check for the version file
+# If it exists, load the version from that file
+# If not found, then use the current version as 1.1.0 for docker images
+if [ -f "$VERSION_FILE" ]; then
+    source $VERSION_FILE;
+    VERSION=$release_version;
+else
+    VERSION=1.1.0;
+fi
+
+RELEASE_VERSION_REGEX="^[0-9]+\.[0-9]+\.[0-9]+$";
+
+SNAPSHOT_TAG=${VERSION}-SNAPSHOT-${DATETIME_STAMP};
+STAGING_TAG=${VERSION}-STAGING-${DATETIME_STAMP};
 
 if [[ $PROJECT =~ $SEARCH ]] ; then
-    docker push $DOCKER_REPOSITORY/openecomp/ajsc-aai:latest;
+
+    REPO_PATH=$DOCKER_REPOSITORY/openecomp/ajsc-aai;
+
+    docker tag $REPO_PATH:latest $REPO_PATH:$STAGING_TAG;
+    docker tag $REPO_PATH:latest $REPO_PATH:$SNAPSHOT_TAG;
+
+    if [[ "$VERSION" =~ $RELEASE_VERSION_REGEX ]]; then
+        STRIPPED_RELEASE=$(echo $VERSION | cut -d"." -f1,2);
+        docker tag $REPO_PATH:latest $REPO_PATH:${STRIPPED_RELEASE}-STAGING-latest;
+        docker push $REPO_PATH:${STRIPPED_RELEASE}-STAGING-latest;
+    else
+        docker push $REPO_PATH:latest;
+    fi
+
+    docker push $REPO_PATH:$STAGING_TAG;
+    docker push $REPO_PATH:$SNAPSHOT_TAG;
 else
     # Cut the prefix aai/ in example aai/model-loader
     DOCKER_REPO_NAME=$(echo ${PROJECT} | cut -d"/" -f2-);
-    docker push $DOCKER_REPOSITORY/openecomp/${DOCKER_REPO_NAME}:latest;
+
+    REPO_PATH=$DOCKER_REPOSITORY/openecomp/${DOCKER_REPO_NAME};
+
+    docker tag $REPO_PATH:latest $REPO_PATH:$STAGING_TAG;
+    docker tag $REPO_PATH:latest $REPO_PATH:$SNAPSHOT_TAG;
+
+    if [[ "$VERSION" =~ $RELEASE_VERSION_REGEX ]]; then
+        STRIPPED_RELEASE=$(echo $VERSION | cut -d"." -f1,2);
+        docker tag $REPO_PATH:latest $REPO_PATH:${STRIPPED_RELEASE}-STAGING-latest;
+        docker push $REPO_PATH:${STRIPPED_RELEASE}-STAGING-latest;
+    else
+        docker push $REPO_PATH:latest;
+    fi
+
+    docker push $REPO_PATH:$SNAPSHOT_TAG;
+    docker push $REPO_PATH:$STAGING_TAG;
 fi