49 lines
1.4 KiB
Bash
Executable File
49 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Install AWS CLI
|
|
pip install --user awscli;
|
|
export PATH=$PATH:$HOME/.local/bin;
|
|
|
|
function branch_to_tag () {
|
|
if [ "$1" == "latest" ]; then echo "production"; else echo "$1" ; fi
|
|
}
|
|
|
|
function branch_to_deploy_group() {
|
|
if [[ $1 =~ ^(rrt\/.*)$ ]]; then echo "rrt"; else echo "crconnect" ; fi
|
|
}
|
|
|
|
function branch_to_deploy_stage () {
|
|
if [ "$1" == "master" ]; then echo "production"; else echo "$1" ; fi
|
|
}
|
|
|
|
REPO="sartography/cr-connect-bpmn"
|
|
TAG=$(branch_to_tag "$TRAVIS_BRANCH")
|
|
|
|
DEPLOY_APP="bpmn"
|
|
DEPLOY_GROUP=$(branch_to_deploy_group "$TRAVIS_BRANCH")
|
|
DEPLOY_STAGE=$(branch_to_deploy_stage "$TRAVIS_BRANCH")
|
|
|
|
if [ "$DEPLOY_GROUP" == "rrt" ]; then
|
|
IFS='/' read -ra ARR <<< "$TRAVIS_BRANCH" # Split branch on '/' character
|
|
TAG=$(branch_to_tag "rrt_${ARR[1]}")
|
|
DEPLOY_STAGE=$(branch_to_deploy_stage "${ARR[1]}")
|
|
fi
|
|
|
|
DEPLOY_PATH="$DEPLOY_GROUP/$DEPLOY_STAGE/$DEPLOY_APP"
|
|
echo "REPO = $REPO"
|
|
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
|
|
docker build -f Dockerfile -t "$REPO:$TAG" . || exit 1
|
|
docker push "$REPO" || exit 1
|
|
|
|
# Wait for Docker Hub
|
|
echo "Publishing to Docker Hub..."
|
|
sleep 30
|
|
|
|
# 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
|