From d819b4a5b85f97230952112fe98cd3b30855f1bb Mon Sep 17 00:00:00 2001 From: Vitalii Parfonov Date: Wed, 14 Aug 2019 12:15:08 +0300 Subject: [PATCH 1/6] Add release script Signed-off-by: Vitalii Parfonov --- devfile.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/devfile.yaml b/devfile.yaml index 3fb2c2ec6..6eee317df 100644 --- a/devfile.yaml +++ b/devfile.yaml @@ -10,7 +10,7 @@ projects: components: - alias: exec-plugin type: chePlugin - id: eclipse/che-machine-exec-plugin/0.0.1 + id: eclipse/che-machine-exec-plugin/7.0.0 - alias: ms-vscode.go type: chePlugin id: ms-vscode/go/0.11.0 @@ -19,7 +19,7 @@ components: id: che-incubator/typescript/1.30.2 - alias: theia-dev type: dockerimage - image: eclipse/che-theia-dev:next + image: eclipse/che-theia-dev:7.0.0 mountSources: true endpoints: - name: theia-dev @@ -31,7 +31,7 @@ components: memoryLimit: 3Gi - alias: dev type: dockerimage - image: eclipse/che-machine-exec-dev:next + image: eclipse/che-machine-exec-dev:7.0.0 mountSources: true endpoints: - name: exec-server From 5df7d2b0cdebeefed2d94ea30441ca651c9c17fc Mon Sep 17 00:00:00 2001 From: Vitalii Parfonov Date: Wed, 14 Aug 2019 12:20:03 +0300 Subject: [PATCH 2/6] Add release script Signed-off-by: Vitalii Parfonov --- release.sh | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100755 release.sh diff --git a/release.sh b/release.sh new file mode 100755 index 000000000..df5d76384 --- /dev/null +++ b/release.sh @@ -0,0 +1,61 @@ +#!/bin/bash +# +# Copyright (c) 2012-2019 Red Hat, Inc. +# This program and the accompanying materials are made +# available under the terms of the Eclipse Public License 2.0 +# which is available at https://www.eclipse.org/legal/epl-2.0/ +# +# SPDX-License-Identifier: EPL-2.0 +# + +set -e +set -u + +BLUE='\033[1;34m' +GREEN='\033[32m' +NC='\033[0m' + + +CHE_MACHINE_EXEC_IMAGE=eclipse/che-machine-exec:${DOCKER_IMAGE_TAG} +DEV_CHE_MACHINE_EXEC_IMAGE=eclipse/che-machine-exec-dev:${DOCKER_IMAGE_TAG} + +# checkout to new tag +git checkout $RELEASE_BRANCH + +docker login -u ${DOCKER_HUB_LOGIN} -p ${DOCKER_HUB_PASSWORD} + +# Build images. +printf "${BLUE}Building docker image ${CHE_MACHINE_EXEC_IMAGE} ==>${NC}\n" +docker build -t ${CHE_MACHINE_EXEC_IMAGE} -f dockerfiles/ci/Dockerfile . +printf "${BLUE}Image build ${CHE_MACHINE_EXEC_IMAGE} completed.${NC}\n" + +printf "${BLUE}Building development image ${DEV_CHE_MACHINE_EXEC_IMAGE} ==>${NC}\n" +docker build -t ${DEV_CHE_MACHINE_EXEC_IMAGE} -f dockerfiles/dev/Dockerfile . +printf "${BLUE}Image build ${DEV_CHE_MACHINE_EXEC_IMAGE} completed.${NC}\n" + +# Tag images to latest +printf "${BLUE}Tag docker image ${CHE_MACHINE_EXEC_IMAGE} to latest\n" +docker tag ${CHE_MACHINE_EXEC_IMAGE} eclipse/che-machine-exec:latest + +printf "${BLUE}Tag development image ${DEV_CHE_MACHINE_EXEC_IMAGE} to latest\n" +docker tag ${DEV_CHE_MACHINE_EXEC_IMAGE} eclipse/che-machine-exec-dev:latest + +# Push images. +printf "${BLUE}Push docker image ${CHE_MACHINE_EXEC_IMAGE} ==>${NC}\n" +docker push ${CHE_MACHINE_EXEC_IMAGE} +printf "${BLUE}Image ${CHE_MACHINE_EXEC_IMAGE} pushed.${NC}\n" + +printf "${BLUE}Push docker image eclipse/che-machine-exec:latest ==>${NC}\n" +docker push eclipse/che-machine-exec: +printf "${BLUE}Image eclipse/che-machine-exec:latest pushed.${NC}\n" + +printf "${BLUE}Push docker image ${DEV_CHE_MACHINE_EXEC_IMAGE} ==>${NC}\n" +docker push ${DEV_CHE_MACHINE_EXEC_IMAGE} +printf "${BLUE}Image ${DEV_CHE_MACHINE_EXEC_IMAGE} pushed.${NC}\n" + +printf "${BLUE}Push docker image eclipse/che-machine-exec-dev:latest ==>${NC}\n" +docker push eclipse/che-machine-exec-dev:latest +printf "${BLUE}Image eclipse/che-machine-exec-dev:latest pushed.${NC}\n" + + +printf "${GREEN}Done. All images successfully pushed.${NC}\n" From 2f6741a28721f22d4d99e10ce287b80cefc4eefe Mon Sep 17 00:00:00 2001 From: Vitalii Parfonov Date: Wed, 14 Aug 2019 12:22:29 +0300 Subject: [PATCH 3/6] Fix release script Signed-off-by: Vitalii Parfonov --- release.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release.sh b/release.sh index df5d76384..f54150a76 100755 --- a/release.sh +++ b/release.sh @@ -46,7 +46,7 @@ docker push ${CHE_MACHINE_EXEC_IMAGE} printf "${BLUE}Image ${CHE_MACHINE_EXEC_IMAGE} pushed.${NC}\n" printf "${BLUE}Push docker image eclipse/che-machine-exec:latest ==>${NC}\n" -docker push eclipse/che-machine-exec: +docker push eclipse/che-machine-exec:latest printf "${BLUE}Image eclipse/che-machine-exec:latest pushed.${NC}\n" printf "${BLUE}Push docker image ${DEV_CHE_MACHINE_EXEC_IMAGE} ==>${NC}\n" From 9467b77f244c108d893d250ca255b1554b109b85 Mon Sep 17 00:00:00 2001 From: Vitalii Parfonov Date: Wed, 14 Aug 2019 12:28:52 +0300 Subject: [PATCH 4/6] release script will create tag on github Signed-off-by: Vitalii Parfonov --- release.sh | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/release.sh b/release.sh index f54150a76..94c1033ed 100755 --- a/release.sh +++ b/release.sh @@ -19,9 +19,16 @@ NC='\033[0m' CHE_MACHINE_EXEC_IMAGE=eclipse/che-machine-exec:${DOCKER_IMAGE_TAG} DEV_CHE_MACHINE_EXEC_IMAGE=eclipse/che-machine-exec-dev:${DOCKER_IMAGE_TAG} -# checkout to new tag +# checkout to release branch git checkout $RELEASE_BRANCH +# create and push new tag +git tag $GITHUB_TAG +git push origin $GITHUB_TAG + +# checkout to new tag +git checkout $GITHUB_TAG + docker login -u ${DOCKER_HUB_LOGIN} -p ${DOCKER_HUB_PASSWORD} # Build images. From 7862856c082b006e9988f59ce99dcbee5097d432 Mon Sep 17 00:00:00 2001 From: Vitalii Parfonov Date: Wed, 14 Aug 2019 12:44:49 +0300 Subject: [PATCH 5/6] Revert devfile.yaml Signed-off-by: Vitalii Parfonov --- devfile.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/devfile.yaml b/devfile.yaml index 6eee317df..3fb2c2ec6 100644 --- a/devfile.yaml +++ b/devfile.yaml @@ -10,7 +10,7 @@ projects: components: - alias: exec-plugin type: chePlugin - id: eclipse/che-machine-exec-plugin/7.0.0 + id: eclipse/che-machine-exec-plugin/0.0.1 - alias: ms-vscode.go type: chePlugin id: ms-vscode/go/0.11.0 @@ -19,7 +19,7 @@ components: id: che-incubator/typescript/1.30.2 - alias: theia-dev type: dockerimage - image: eclipse/che-theia-dev:7.0.0 + image: eclipse/che-theia-dev:next mountSources: true endpoints: - name: theia-dev @@ -31,7 +31,7 @@ components: memoryLimit: 3Gi - alias: dev type: dockerimage - image: eclipse/che-machine-exec-dev:7.0.0 + image: eclipse/che-machine-exec-dev:next mountSources: true endpoints: - name: exec-server From d9bd7b9e3eb9e083a5ad7b60634161531affd57e Mon Sep 17 00:00:00 2001 From: Vitalii Parfonov Date: Wed, 14 Aug 2019 12:48:48 +0300 Subject: [PATCH 6/6] Add checking for variables Signed-off-by: Vitalii Parfonov --- release.sh | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/release.sh b/release.sh index 94c1033ed..bee18e2a6 100755 --- a/release.sh +++ b/release.sh @@ -15,6 +15,19 @@ BLUE='\033[1;34m' GREEN='\033[32m' NC='\033[0m' +if [ -z "${GITHUB_TAG}" ]; then + echo "Variable GITHUB_TAG is missing" + exit 1 +fi +if [ -z "${DOCKER_IMAGE_TAG}" ]; then + echo "Variable DOCKER_IMAGE_TAG is missing" + exit 1 +fi +if [ -z "${RELEASE_BRANCH}" ]; then + echo "Variable RELEASE_BRANCH is missing" + exit 1 +fi + CHE_MACHINE_EXEC_IMAGE=eclipse/che-machine-exec:${DOCKER_IMAGE_TAG} DEV_CHE_MACHINE_EXEC_IMAGE=eclipse/che-machine-exec-dev:${DOCKER_IMAGE_TAG} @@ -36,7 +49,7 @@ printf "${BLUE}Building docker image ${CHE_MACHINE_EXEC_IMAGE} ==>${NC}\n" docker build -t ${CHE_MACHINE_EXEC_IMAGE} -f dockerfiles/ci/Dockerfile . printf "${BLUE}Image build ${CHE_MACHINE_EXEC_IMAGE} completed.${NC}\n" -printf "${BLUE}Building development image ${DEV_CHE_MACHINE_EXEC_IMAGE} ==>${NC}\n" +printf "${BLUE}Building docker development image ${DEV_CHE_MACHINE_EXEC_IMAGE} ==>${NC}\n" docker build -t ${DEV_CHE_MACHINE_EXEC_IMAGE} -f dockerfiles/dev/Dockerfile . printf "${BLUE}Image build ${DEV_CHE_MACHINE_EXEC_IMAGE} completed.${NC}\n" @@ -44,7 +57,7 @@ printf "${BLUE}Image build ${DEV_CHE_MACHINE_EXEC_IMAGE} completed.${NC}\n" printf "${BLUE}Tag docker image ${CHE_MACHINE_EXEC_IMAGE} to latest\n" docker tag ${CHE_MACHINE_EXEC_IMAGE} eclipse/che-machine-exec:latest -printf "${BLUE}Tag development image ${DEV_CHE_MACHINE_EXEC_IMAGE} to latest\n" +printf "${BLUE}Tag docker development image ${DEV_CHE_MACHINE_EXEC_IMAGE} to latest\n" docker tag ${DEV_CHE_MACHINE_EXEC_IMAGE} eclipse/che-machine-exec-dev:latest # Push images.