Fix wfengine docker build issue
[vfc/nfvo/wfengine.git] / wfenginemgrservice / src / main / docker / wfenginemgrservice-docker-build_image.sh
index 5d29947..1225740 100644 (file)
@@ -8,21 +8,50 @@ cd ${DOCKER_BUILD_DIR}
 BUILD_ARGS="--no-cache"
 ORG="onap"
 # VERSION="1.0.0"
-VERSION="1.0.0-SNAPSHOT"
+DOCKER_VER="1.2.0"
+VERSION="${DOCKER_VER}-SNAPSHOT"
 PROJECT="vfc"
 IMAGE="wfengine-mgrservice"
 DOCKER_REPOSITORY="nexus3.onap.org:10003"
 IMAGE_NAME="${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/${IMAGE}"
+TIMESTAMP=$(date +"%Y%m%dT%H%M%S")
+
+if [ -z $NEXUS_REPOS_URL ]; then
+  NEXUS_REPOS_URL="https://nexus.onap.org"
+fi
 
 POM_DIR="../../../"
 cd ${POM_DIR}
-# VERSION=$(printf 'VER\t${project.version}'|mvn help:evaluate|grep '^VER'|cut -f2|echo)
-# VERSION=$(printf 'VER\t${project.version}'|mvn help:evaluate)
+env
+mvncmd=$(whereis mvn | grep ^mvn |awk '{print $2}')
+if [[ 1$mvncmd != 1 ]]; then
+  echo $mvncmd
+elif [ $MVN ]; then
+  echo MVN
+  mvncmd=$MVN
+elif [ $M2_HOME ]; then
+  echo M2_HOME
+  mvncmd=$M2_HOME/bin/mvn
+elif [ -f "/w/tools/hudson.tasks.Maven_MavenInstallation/mvn33/bin/mvn" ]; then
+  echo /w/tools/hudson.tasks.Maven_MavenInstallation/mvn33/bin/mvn
+  mvncmd="/w/tools/hudson.tasks.Maven_MavenInstallation/mvn33/bin/mvn"
+elif [ -f "/usr/share/maven/bin/mvn" ]; then
+  mvncmd="/usr/share/maven/bin/mvn"
+else
+  echo "Maven is not installed, mvncmd=$mvncmd"
+  exit 1
+fi
+echo "mvncmd=${mvncmd}"
+
+pwd
+VERSION=$(printf 'VER\t${project.version}'|$mvncmd help:evaluate|grep '^VER'|cut -f2)
 echo "VERSION=${VERSION}"
+DOCKER_VER=${VERSION}
+
 
 cd ${DOCKER_BUILD_DIR}
 if [[ $VERSION != *-SNAPSHOT ]]; then
-  NEXUSREPONAME="releases"
+  NEXUSREPONAME="staging"
 else
   NEXUSREPONAME="snapshots"
 fi
@@ -47,19 +76,37 @@ fi
 echo "CURLPROXY=${CURLPROXY}"
 
 rm -f ./bin/workflow-engine-mgr-service*.jar
-echo "${CURLPROXY}" -m 300 -O -J -L  "https://nexus.onap.org/service/local/artifact/maven/content?r=${NEXUSREPONAME}&g=org.onap.vfc.nfvo.wfengine&a=workflow-engine-mgr-service&e=jar&v=${VERSION}" LATEST
-curl "${CURLPROXY}" -m 300 -O -J -L  "https://nexus.onap.org/service/local/artifact/maven/content?r=${NEXUSREPONAME}&g=org.onap.vfc.nfvo.wfengine&a=workflow-engine-mgr-service&e=jar&v=${VERSION}"
+echo "${CURLPROXY}" -m 300 -O -J -L  "${NEXUS_REPOS_URL}/service/local/artifact/maven/content?r=${NEXUSREPONAME}&g=org.onap.vfc.nfvo.wfengine&a=workflow-engine-mgr-service&e=jar&v=${VERSION}" LATEST
+#curl "${CURLPROXY}" -m 300 -O -J -L  "${NEXUS_REPOS_URL}/service/local/artifact/maven/content?r=${NEXUSREPONAME}&g=org.onap.vfc.nfvo.wfengine&a=workflow-engine-mgr-service&e=jar&v=${VERSION}"
+#wget -O workflow-engine-mgr-service.jar "${NEXUS_REPOS_URL}/service/local/artifact/maven/content?r=${NEXUSREPONAME}&g=org.onap.vfc.nfvo.wfengine&a=workflow-engine-mgr-service&e=jar&v=${VERSION}"
+#wget -O workflow-engine-mgr-service.jar "${NEXUS_REPOS_URL}/service/local/artifact/maven/content?r=snapshots&g=org.onap.vfc.nfvo.wfengine&a=workflow-engine-mgr-service&e=jar&v=${VERSION}-SNAPSHOT"
+for i in {1..10}; do
+    wget -O workflow-engine-mgr-service.jar "${NEXUS_REPOS_URL}/service/local/artifact/maven/content?r=${NEXUSREPONAME}&g=org.onap.vfc.nfvo.wfengine&a=workflow-engine-mgr-service&e=jar&v=${VERSION}" && break
+    echo sleep $i
+    sleep $i
+done
+
 mv workflow-engine-mgr-service*.jar ./bin/workflow-engine-mgr-service.jar 
 
 function build_image {
     echo "Start build docker image: ${IMAGE_NAME}"
-    docker build ${BUILD_ARGS} -t ${IMAGE_NAME}:${VERSION} -t ${IMAGE_NAME}:latest .
+    docker build ${BUILD_ARGS} -t ${IMAGE_NAME}:latest .
+}
+
+function push_image_tag {
+    TAG_NAME=$1
+    echo "Start push ${TAG_NAME}"
+    docker tag ${IMAGE_NAME}:latest ${TAG_NAME}
+    docker push ${TAG_NAME}
 }
 
 function push_image {
-    echo "Start push docker image: ${IMAGE_NAME}"
-    docker push ${IMAGE_NAME}:${VERSION}
+    echo "Start push ${IMAGE_NAME}:latest"
     docker push ${IMAGE_NAME}:latest
+    
+    push_image_tag ${IMAGE_NAME}:${DOCKER_VER}-SNAPSHOT-latest
+    push_image_tag ${IMAGE_NAME}:${DOCKER_VER}-STAGING-latest
+    push_image_tag ${IMAGE_NAME}:${DOCKER_VER}-STAGING-${TIMESTAMP}
 }
 
 build_image