Merge branch 'rrt/staging' into rrt/production
This commit is contained in:
commit
62b72c5800
15
.travis.yml
15
.travis.yml
|
@ -3,18 +3,10 @@ language: bash
|
||||||
services:
|
services:
|
||||||
- docker
|
- docker
|
||||||
|
|
||||||
install:
|
install: skip
|
||||||
- sudo pip install --upgrade pip
|
|
||||||
- pip install --user awscli
|
|
||||||
- export PATH=$PATH:$HOME/.local/bin
|
|
||||||
|
|
||||||
deploy:
|
script:
|
||||||
provider: script
|
- bash deploy.sh sartography/cr-connect-db
|
||||||
script: bash deploy.sh
|
|
||||||
skip_cleanup: true
|
|
||||||
on:
|
|
||||||
all_branches: true
|
|
||||||
condition: $TRAVIS_BRANCH =~ ^(dev|testing|demo|training|staging|master|rrt\/.*)$
|
|
||||||
|
|
||||||
notifications:
|
notifications:
|
||||||
email:
|
email:
|
||||||
|
@ -22,4 +14,3 @@ notifications:
|
||||||
on_failure: always
|
on_failure: always
|
||||||
recipients:
|
recipients:
|
||||||
- dan@sartography.com
|
- dan@sartography.com
|
||||||
|
|
||||||
|
|
49
deploy.sh
49
deploy.sh
|
@ -1,44 +1,45 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
#########################################################################
|
||||||
|
# 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...'
|
||||||
|
DOCKER_REPO="$1"
|
||||||
|
|
||||||
function branch_to_tag () {
|
function branch_to_tag () {
|
||||||
if [ "$1" == "latest" ]; then echo "production"; else echo "$1" ; fi
|
if [ "$1" == "master" ]; then echo "latest"; else echo "$1" ; fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function branch_to_deploy_group() {
|
function branch_to_deploy_group() {
|
||||||
if [[ $1 =~ ^(rrt\/.*)$ ]]; then echo "rrt"; else echo "crconnect" ; fi
|
if [[ $1 =~ ^(rrt\/.*)$ ]]; then echo "rrt"; else echo "crconnect" ; fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function branch_to_deploy_stage () {
|
DOCKER_TAG=$(branch_to_tag "$TRAVIS_BRANCH")
|
||||||
if [ "$1" == "master" ]; then echo "production"; else echo "$1" ; fi
|
|
||||||
}
|
|
||||||
|
|
||||||
REPO="sartography/cr-connect-db"
|
|
||||||
TAG=$(branch_to_tag "$TRAVIS_BRANCH")
|
|
||||||
|
|
||||||
DEPLOY_APP="db"
|
|
||||||
DEPLOY_GROUP=$(branch_to_deploy_group "$TRAVIS_BRANCH")
|
DEPLOY_GROUP=$(branch_to_deploy_group "$TRAVIS_BRANCH")
|
||||||
DEPLOY_STAGE=$(branch_to_deploy_stage "$TRAVIS_BRANCH")
|
|
||||||
|
|
||||||
if [ "$DEPLOY_GROUP" == "rrt" ]; then
|
if [ "$DEPLOY_GROUP" == "rrt" ]; then
|
||||||
IFS='/' read -ra ARR <<< "$TRAVIS_BRANCH" # Split branch on '/' character
|
IFS='/' read -ra ARR <<< "$TRAVIS_BRANCH" # Split branch on '/' character
|
||||||
TAG=$(branch_to_tag "rrt_${ARR[1]}")
|
DOCKER_TAG=$(branch_to_tag "rrt_${ARR[1]}")
|
||||||
DEPLOY_STAGE=$(branch_to_deploy_stage "${ARR[1]}")
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
DEPLOY_PATH="$DEPLOY_GROUP/$DEPLOY_STAGE/$DEPLOY_APP"
|
echo "DOCKER_REPO = $DOCKER_REPO"
|
||||||
echo "REPO = $REPO"
|
echo "DOCKER_TAG = $DOCKER_TAG"
|
||||||
echo "TAG = $TAG"
|
|
||||||
echo "DEPLOY_PATH = $DEPLOY_PATH"
|
|
||||||
|
|
||||||
# Build and push Docker image to Docker Hub
|
|
||||||
echo "$DOCKER_TOKEN" | docker login -u "$DOCKER_USERNAME" --password-stdin || exit 1
|
echo "$DOCKER_TOKEN" | docker login -u "$DOCKER_USERNAME" --password-stdin || exit 1
|
||||||
docker build -f Dockerfile -t "$REPO:$TAG" . || exit 1
|
docker build -f Dockerfile -t "$DOCKER_REPO:$DOCKER_TAG" . || exit 1
|
||||||
docker push "$REPO" || exit 1
|
|
||||||
|
|
||||||
# Wait for Docker Hub
|
|
||||||
|
# Push Docker image to Docker Hub
|
||||||
echo "Publishing to Docker Hub..."
|
echo "Publishing to Docker Hub..."
|
||||||
sleep 30
|
docker push "$DOCKER_REPO" || exit 1
|
||||||
|
echo "Done."
|
||||||
# Notify UVA DCOS that Docker image has been updated
|
|
||||||
echo "Refreshing DC/OS..."
|
|
||||||
aws sqs send-message --region "$AWS_DEFAULT_REGION" --queue-url "$AWS_SQS_URL" --message-body "$DEPLOY_PATH" || exit 1
|
|
||||||
|
|
Loading…
Reference in New Issue