Browse Source

modify build/build_images.sh: add retry pushing image

krrish 7 years ago
parent
commit
29b806c073
1 changed files with 25 additions and 10 deletions
  1. 25 10
      build/build_images.sh

+ 25 - 10
build/build_images.sh

@@ -62,33 +62,47 @@ function fn_build_images()
 
     docker rmi "${MIRROR_ADDRESS}"/"${PROJECT_NAME}"/"${WANGYUAN_NAME}"/"${images_name}":"latest"
 
-    #tag images latest
+    #tag images latest, modify by dongcj
     docker tag "${MIRROR_ADDRESS}"/"${PROJECT_NAME}"/"${WANGYUAN_NAME}"/"${images_name}":"${IMAGE_VERSION}" "${MIRROR_ADDRESS}"/"${PROJECT_NAME}"/"${WANGYUAN_NAME}"/"${images_name}":latest  >"${ERROR_LOG}" 2>&1
     if [ $? -ne 0 ]
     then
         fn_print_err "Tag <${MIRROR_ADDRESS}/${PROJECT_NAME}/${WANGYUAN_NAME}/${images_name}:latest> failure." || return $?
     fi
 
-    #push images
+    #push images, modify by dongcj
     docker push "${MIRROR_ADDRESS}"/"${PROJECT_NAME}"/"${WANGYUAN_NAME}"/"${images_name}":"${IMAGE_VERSION}" >"${ERROR_LOG}" 2>&1
     if [ $? -ne 0 ]
     then
-        fn_print_err "Push<${MIRROR_ADDRESS}/${PROJECT_NAME}/${WANGYUAN_NAME}/${images_name}:${IMAGE_VERSION}> failure." || return $?
+  echo "retry pushing after 3 seconds..."
+  sleep 3
+        docker push "${MIRROR_ADDRESS}"/"${PROJECT_NAME}"/"${WANGYUAN_NAME}"/"${images_name}":"${IMAGE_VERSION}" >"${ERROR_LOG}" 2>&1
+        if [ $? -ne 0 ]; then
+      fn_print_err "docker push ${MIRROR_ADDRESS}/${PROJECT_NAME}/${WANGYUAN_NAME}/${images_name}:${IMAGE_VERSION}  failure." || return $?
+        fi
     fi
 
+    echo
+    echo "Ready to push latest image"
+    sleep 3
+
     #push images latest
     docker push "${MIRROR_ADDRESS}"/"${PROJECT_NAME}"/"${WANGYUAN_NAME}"/"${images_name}":"latest" >"${ERROR_LOG}" 2>&1
     if [ $? -ne 0 ]
     then
-        fn_print_err "Push<${MIRROR_ADDRESS}/${PROJECT_NAME}/${WANGYUAN_NAME}/${images_name}:latest> failure." || return $?
+        echo "retry push latest after 3 seconds..."
+  sleep 3
+        docker push "${MIRROR_ADDRESS}"/"${PROJECT_NAME}"/"${WANGYUAN_NAME}"/"${images_name}":"latest" >"${ERROR_LOG}" 2>&1
+        if [ $? -ne 0 ]; then
+      fn_print_err "docker push ${MIRROR_ADDRESS}/${PROJECT_NAME}/${WANGYUAN_NAME}/${images_name}:latest  failure." || return $?
+        fi
     fi
 
     sleep 5
     docker pull "${MIRROR_ADDRESS}"/"${PROJECT_NAME}"/"${WANGYUAN_NAME}"/"${images_name}":"latest" >"${ERROR_LOG}" 2>&1
-    if [ $? -ne 0 ] 
+    if [ $? -ne 0 ]
     then
         fn_print_err "Pull<${MIRROR_ADDRESS}/${PROJECT_NAME}/${WANGYUAN_NAME}/${images_name}:latest> failure." || return $?
-    fi  
+    fi
 
     return 0
 
@@ -136,12 +150,12 @@ fn_main()
     MODUL_NAME=$1
     local svn_number=$2
     PROJECT_NAME=$3
-    
+
     #定义日志打印的路径
     BUILD_LOG=/tmp/${MODUL_NAME}/build.log
     ERROR_LOG=/tmp/${MODUL_NAME}/error.log
-   
-    #创建日志文件 
+
+    #创建日志文件
     [ -d /tmp/${MODUL_NAME} ] && rm -rf /tmp/${MODUL_NAME}
     mkdir -p /tmp/${MODUL_NAME}
     cd /tmp/${MODUL_NAME} && touch build.log error.log
@@ -184,7 +198,8 @@ fn_main()
     #build镜像
     cd /tmp/${MODUL_NAME}
     tms_success "Start build ${MODUL_NAME} images."
-    
+
+    # modify by dongcj
     fn_build_images "${images_name}" >"${ERROR_LOG}" 2>&1
     if [ $? -ne 0 ]
     then