docker-python/deploy.sh

53 lines
1.5 KiB
Bash
Raw Permalink Normal View History

2022-05-05 18:27:03 +00:00
#!/usr/bin/env bash
function error_handler() {
>&2 echo "Exited with BAD EXIT CODE '${2}' in ${0} script at line: ${1}."
exit "$2"
}
trap 'error_handler ${LINENO} $?' ERR
set -o errtrace -o errexit -o nounset -o pipefail
2020-06-16 15:51:16 +00:00
#########################################################################
# Builds the Docker image for the current git branch on Travis CI and
# publishes it to Docker Hub.
#
# Parameters:
# $1: Docker Hub repository to publish to
#
# Required environment variables (place in Settings menu on Travis CI):
# $DOCKER_USERNAME: Docker Hub username
# $DOCKER_TOKEN: Docker Hub access token
#########################################################################
echo 'Building Docker image...'
2022-05-05 18:27:03 +00:00
docker_repo="${1:-}"
2020-06-16 15:51:16 +00:00
function branch_to_tag () {
2020-06-12 21:04:04 +00:00
if [ "$1" == "master" ]; then echo "latest"; else echo "$1" ; fi
}
2020-06-16 15:51:16 +00:00
function branch_to_deploy_group() {
if [[ $1 =~ ^(rrt\/.*)$ ]]; then echo "rrt"; else echo "crconnect" ; fi
}
2022-05-05 18:27:03 +00:00
docker_tag=$(branch_to_tag "$TRAVIS_BRANCH")
2020-06-16 15:51:16 +00:00
2022-05-05 18:27:03 +00:00
deploy_group=$(branch_to_deploy_group "$TRAVIS_BRANCH")
2020-06-16 15:51:16 +00:00
2022-05-05 18:27:03 +00:00
if [ "$deploy_group" == "rrt" ]; then
2020-06-16 15:51:16 +00:00
IFS='/' read -ra ARR <<< "$TRAVIS_BRANCH" # Split branch on '/' character
2022-05-05 18:27:03 +00:00
docker_tag=$(branch_to_tag "rrt_${ARR[1]}")
2020-06-16 15:51:16 +00:00
fi
2022-05-05 18:27:03 +00:00
echo "docker_repo = $docker_repo"
echo "docker_tag = $docker_tag"
2022-05-05 18:27:03 +00:00
echo "$DOCKER_TOKEN" | docker login -u "$DOCKER_USERNAME" --password-stdin
docker build -f Dockerfile -t "$docker_repo:$docker_tag" .
2020-06-16 15:51:16 +00:00
# Push Docker image to Docker Hub
echo "Publishing to Docker Hub..."
docker push "${docker_repo}:${docker_tag}"
2020-06-16 15:51:16 +00:00
echo "Done."