You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by mi...@apache.org on 2020/01/07 21:38:44 UTC

[beam] branch master updated: BEAM-8780 reuse RC images instead of recreate images

This is an automated email from the ASF dual-hosted git repository.

mikhail pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/beam.git


The following commit(s) were added to refs/heads/master by this push:
     new ef8545f  BEAM-8780 reuse RC images instead of recreate images
     new e460f27  Merge pull request #10512 from Hannah-Jiang/container_release_guide
ef8545f is described below

commit ef8545f8cf5c2170c21099eaaeb360c10e3d898a
Author: Hannah Jiang <ha...@google.com>
AuthorDate: Mon Jan 6 17:05:52 2020 -0800

    BEAM-8780 reuse RC images instead of recreate images
---
 release/src/main/scripts/publish_docker_images.sh | 87 ++++++++++++++---------
 website/src/contribute/release-guide.md           |  4 +-
 2 files changed, 55 insertions(+), 36 deletions(-)

diff --git a/release/src/main/scripts/publish_docker_images.sh b/release/src/main/scripts/publish_docker_images.sh
old mode 100644
new mode 100755
index 44a133e..fb6ba0d
--- a/release/src/main/scripts/publish_docker_images.sh
+++ b/release/src/main/scripts/publish_docker_images.sh
@@ -24,43 +24,78 @@
 
 set -e
 
-source release/src/main/scripts/build_release_candidate.sh
+PYTHON_VER=("python2.7" "python3.5" "python3.6" "python3.7")
+FLINK_VER=("$(ls -1 runners/flink | awk '/^[0-9]+\.[0-9]+$/{print}')")
 
 echo "Publish SDK docker images to Docker Hub."
+
+echo "================Setting Up Environment Variables==========="
+echo "Which release version are you working on: "
+read RELEASE
+
+echo "================Setting Up RC candidate Variables==========="
+echo "From which RC candidate do you create publish docker image? (ex: rc0, rc1) "
+read RC_VERSION
+
+echo "================Confirmimg Release and RC version==========="
+echo "We are using ${RC_VERSION} to create docker images for ${RELEASE}."
 echo "Do you want to proceed? [y|N]"
 read confirmation
 if [[ $confirmation = "y" ]]; then
-  echo "============Publishing SDK docker images on docker hub========="
-  cd ~
-  if [[ -d ${LOCAL_PYTHON_STAGING_DIR} ]]; then
-    rm -rf ${LOCAL_PYTHON_STAGING_DIR}
-  fi
-  mkdir -p ${LOCAL_PYTHON_STAGING_DIR}
-  cd ${LOCAL_PYTHON_STAGING_DIR}
-
-  echo '-------------------Cloning Beam Release Branch-----------------'
-  git clone ${GIT_REPO_URL}
-  cd ${BEAM_ROOT_DIR}
-  git checkout ${RELEASE_BRANCH}
 
   echo '-------------------Generating and Pushing Python images-----------------'
-  ./gradlew :sdks:python:container:buildAll -Pdocker-tag=${RELEASE}
   for ver in "${PYTHON_VER[@]}"; do
+     # Pull varified RC from dockerhub.
+     docker pull apachebeam/${ver}_sdk:${RELEASE}_${RC_VERSION}
+
+     # Tag with ${RELEASE} and push to dockerhub.
+     docker tag apachebeam/${ver}_sdk:${RELEASE}_${RC_VERSION} apachebeam/${ver}_sdk:${RELEASE}
      docker push apachebeam/${ver}_sdk:${RELEASE}
-     docker tag apachebeam/${ver}_sdk:${RELEASE} apachebeam/${ver}_sdk:latest
+
+     # Tag with latest and push to dockerhub.
+     docker tag apachebeam/${ver}_sdk:${RELEASE}_${RC_VERSION} apachebeam/${ver}_sdk:latest
      docker push apachebeam/${ver}_sdk:latest
+
+      # Cleanup images from local
+     docker rmi -f apachebeam/${ver}_sdk:${RELEASE}_${RC_VERSION}
+     docker rmi -f apachebeam/${ver}_sdk:${RELEASE}
+     docker rmi -f apachebeam/${ver}_sdk:latest
   done
 
   echo '-------------------Generating and Pushing Java images-----------------'
-  ./gradlew :sdks:java:container:dockerPush -Pdocker-tag=${RELEASE}
-  docker tag apachebeam/java_sdk:${RELEASE} apachebeam/java_sdk:latest
+  # Pull varified RC from dockerhub.
+  docker pull apachebeam/java_sdk:${RELEASE}_${RC_VERSION}
+
+  # Tag with ${RELEASE} and push to dockerhub.
+  docker tag apachebeam/java_sdk:${RELEASE}_${RC_VERSION} apachebeam/java_sdk:${RELEASE}
+  docker push apachebeam/java_sdk:${RELEASE}
+
+  # Tag with latest and push to dockerhub.
+  docker tag apachebeam/java_sdk:${RELEASE}_${RC_VERSION} apachebeam/java_sdk:latest
   docker push apachebeam/java_sdk:latest
 
+  # Cleanup images from local
+  docker rmi -f apachebeam/java_sdk:${RELEASE}_${RC_VERSION}
+  docker rmi -f apachebeam/java_sdk:${RELEASE}
+  docker rmi -f apachebeam/java_sdk:latest
+
   echo '-------------------Generating and Pushing Go images-----------------'
-  ./gradlew :sdks:go:container:dockerPush -Pdocker-tag=${RELEASE}
-  docker tag apachebeam/go_sdk:${RELEASE} apachebeam/go_sdk:latest
+  # Pull varified RC from dockerhub.
+  docker pull apachebeam/go_sdk:${RELEASE}_${RC_VERSION}
+
+  # Tag with ${RELEASE} and push to dockerhub.
+  docker tag apachebeam/go_sdk:${RELEASE}_${RC_VERSION} apachebeam/go_sdk:${RELEASE}
+  docker push apachebeam/go_sdk:${RELEASE}
+
+  # Tag with latest and push to dockerhub.
+  docker tag apachebeam/go_sdk:${RELEASE}_${RC_VERSION} apachebeam/go_sdk:latest
   docker push apachebeam/go_sdk:latest
 
+  # Cleanup images from local
+  docker rmi -f apachebeam/go_sdk:${RELEASE}_${RC_VERSION}
+  docker rmi -f apachebeam/go_sdk:${RELEASE}
+  docker rmi -f apachebeam/go_sdk:latest
+
   echo '-------------Generating and Pushing Flink job server images-------------'
   echo "Building containers for the following Flink versions:" "${FLINK_VER[@]}"
   for ver in "${FLINK_VER[@]}"; do
@@ -71,20 +106,6 @@ if [[ $confirmation = "y" ]]; then
      docker push "${FLINK_IMAGE_NAME}:latest"
   done
 
-  rm -rf ~/${PYTHON_ARTIFACTS_DIR}
-
-  echo "-------------------Clean up SDK docker images at local-------------------"
-  for ver in "${PYTHON_VER[@]}"; do
-    docker rmi -f apachebeam/${ver}_sdk:${RELEASE}
-    docker rmi -f apachebeam/${ver}_sdk:latest
-  done
-
-  docker rmi -f apachebeam/java_sdk:${RELEASE}
-  docker rmi -f apachebeam/java_sdk:latest
-
-  docker rmi -f apachebeam/go_sdk:${RELEASE}
-  docker rmi -f apachebeam/go_sdk:latest
-
   for ver in "${FLINK_VER[@]}"; do
     FLINK_IMAGE_NAME=apachebeam/flink${ver}_job_server
     docker rmi -f "${FLINK_IMAGE_NAME}:${RELEASE}"
diff --git a/website/src/contribute/release-guide.md b/website/src/contribute/release-guide.md
index 2a27bde..40dd143 100644
--- a/website/src/contribute/release-guide.md
+++ b/website/src/contribute/release-guide.md
@@ -1259,9 +1259,7 @@ __NOTE__: Only PMC members have permissions to do it, ping [dev@](mailto:dev@bea
 Make sure the download address for last release version is upldaed, [example PR](https://github.com/apache/beam-site/pull/478).
 
 ### Deploy SDK docker images to DockerHub
-TODO(hannahjiang): change link to master branch after #9560 is merged.
-
-* Script: [publish_docker_images.sh](https://github.com/Hannah-Jiang/beam/blob/release_script_for_containers/release/src/main/scripts/publish_docker_images.sh)
+* Script: [publish_docker_images.sh](https://github.com/apache/beam/blob/master/release/src/main/scripts/publish_docker_images.sh)
 * Usage
 ```
 ./beam/release/src/main/scripts/publish_docker_images.sh