|
| 1 | +#!/bin/bash |
| 2 | +# |
| 3 | +# Copyright (c) 2012-2019 Red Hat, Inc. |
| 4 | +# This program and the accompanying materials are made |
| 5 | +# available under the terms of the Eclipse Public License 2.0 |
| 6 | +# which is available at https://www.eclipse.org/legal/epl-2.0/ |
| 7 | +# |
| 8 | +# SPDX-License-Identifier: EPL-2.0 |
| 9 | +# |
| 10 | + |
| 11 | +set -e |
| 12 | +set -u |
| 13 | + |
| 14 | +BLUE='\033[1;34m' |
| 15 | +GREEN='\033[32m' |
| 16 | +NC='\033[0m' |
| 17 | + |
| 18 | +if [ -z "${GITHUB_TAG}" ]; then |
| 19 | + echo "Variable GITHUB_TAG is missing" |
| 20 | + exit 1 |
| 21 | +fi |
| 22 | +if [ -z "${DOCKER_IMAGE_TAG}" ]; then |
| 23 | + echo "Variable DOCKER_IMAGE_TAG is missing" |
| 24 | + exit 1 |
| 25 | +fi |
| 26 | +if [ -z "${RELEASE_BRANCH}" ]; then |
| 27 | + echo "Variable RELEASE_BRANCH is missing" |
| 28 | + exit 1 |
| 29 | +fi |
| 30 | + |
| 31 | + |
| 32 | +CHE_MACHINE_EXEC_IMAGE=eclipse/che-machine-exec:${DOCKER_IMAGE_TAG} |
| 33 | +DEV_CHE_MACHINE_EXEC_IMAGE=eclipse/che-machine-exec-dev:${DOCKER_IMAGE_TAG} |
| 34 | + |
| 35 | +# checkout to release branch |
| 36 | +git checkout $RELEASE_BRANCH |
| 37 | + |
| 38 | +# create and push new tag |
| 39 | +git tag $GITHUB_TAG |
| 40 | +git push origin $GITHUB_TAG |
| 41 | + |
| 42 | +# checkout to new tag |
| 43 | +git checkout $GITHUB_TAG |
| 44 | + |
| 45 | +docker login -u ${DOCKER_HUB_LOGIN} -p ${DOCKER_HUB_PASSWORD} |
| 46 | + |
| 47 | +# Build images. |
| 48 | +printf "${BLUE}Building docker image ${CHE_MACHINE_EXEC_IMAGE} ==>${NC}\n" |
| 49 | +docker build -t ${CHE_MACHINE_EXEC_IMAGE} -f dockerfiles/ci/Dockerfile . |
| 50 | +printf "${BLUE}Image build ${CHE_MACHINE_EXEC_IMAGE} completed.${NC}\n" |
| 51 | + |
| 52 | +printf "${BLUE}Building docker development image ${DEV_CHE_MACHINE_EXEC_IMAGE} ==>${NC}\n" |
| 53 | +docker build -t ${DEV_CHE_MACHINE_EXEC_IMAGE} -f dockerfiles/dev/Dockerfile . |
| 54 | +printf "${BLUE}Image build ${DEV_CHE_MACHINE_EXEC_IMAGE} completed.${NC}\n" |
| 55 | + |
| 56 | +# Tag images to latest |
| 57 | +printf "${BLUE}Tag docker image ${CHE_MACHINE_EXEC_IMAGE} to latest\n" |
| 58 | +docker tag ${CHE_MACHINE_EXEC_IMAGE} eclipse/che-machine-exec:latest |
| 59 | + |
| 60 | +printf "${BLUE}Tag docker development image ${DEV_CHE_MACHINE_EXEC_IMAGE} to latest\n" |
| 61 | +docker tag ${DEV_CHE_MACHINE_EXEC_IMAGE} eclipse/che-machine-exec-dev:latest |
| 62 | + |
| 63 | +# Push images. |
| 64 | +printf "${BLUE}Push docker image ${CHE_MACHINE_EXEC_IMAGE} ==>${NC}\n" |
| 65 | +docker push ${CHE_MACHINE_EXEC_IMAGE} |
| 66 | +printf "${BLUE}Image ${CHE_MACHINE_EXEC_IMAGE} pushed.${NC}\n" |
| 67 | + |
| 68 | +printf "${BLUE}Push docker image eclipse/che-machine-exec:latest ==>${NC}\n" |
| 69 | +docker push eclipse/che-machine-exec:latest |
| 70 | +printf "${BLUE}Image eclipse/che-machine-exec:latest pushed.${NC}\n" |
| 71 | + |
| 72 | +printf "${BLUE}Push docker image ${DEV_CHE_MACHINE_EXEC_IMAGE} ==>${NC}\n" |
| 73 | +docker push ${DEV_CHE_MACHINE_EXEC_IMAGE} |
| 74 | +printf "${BLUE}Image ${DEV_CHE_MACHINE_EXEC_IMAGE} pushed.${NC}\n" |
| 75 | + |
| 76 | +printf "${BLUE}Push docker image eclipse/che-machine-exec-dev:latest ==>${NC}\n" |
| 77 | +docker push eclipse/che-machine-exec-dev:latest |
| 78 | +printf "${BLUE}Image eclipse/che-machine-exec-dev:latest pushed.${NC}\n" |
| 79 | + |
| 80 | + |
| 81 | +printf "${GREEN}Done. All images successfully pushed.${NC}\n" |
0 commit comments