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