diff --git a/.travis.yml b/.travis.yml index e947cddf..913400c6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -36,7 +36,8 @@ deploy: script: bash deploy.sh skip_cleanup: true on: - branch: master + all_branches: true + condition: $TRAVIS_BRANCH =~ ^(testing|staging|master)$ notifications: email: diff --git a/deploy.sh b/deploy.sh index a40d2d82..86845e93 100755 --- a/deploy.sh +++ b/deploy.sh @@ -2,13 +2,19 @@ # Build and push Docker image to Docker Hub echo "$DOCKER_TOKEN" | docker login -u "$DOCKER_USERNAME" --password-stdin -docker build --no-cache -t sartography/cr-connect-backend:latest . || exit 1; -docker push sartography/cr-connect-backend:latest || exit 1; +REPO="sartography/cr-connect-workflow" +TAG=$(if [ "$TRAVIS_BRANCH" == "master" ]; then echo "latest"; else echo "$TRAVIS_BRANCH" ; fi) +COMMIT=${$TRAVIS_COMMIT::8} +docker build -f Dockerfile -t "$REPO:$COMMIT" . +docker tag "$REPO:$COMMIT" "$REPO:$TAG" +docker tag "$REPO:$COMMIT" "$REPO:travis-$TRAVIS_BUILD_NUMBER" +docker push "$REPO" # Wait for Docker Hub echo "Publishing to Docker Hub..." sleep 30 -# Notify UVA DCOS that Docker image has been updated +# Notify DC/OS that Docker image has been updated echo "Refreshing DC/OS..." -aws sqs send-message --queue-url 'https://queue.amazonaws.com/474683445819/dcos-refresh' --message-body 'crconnect/backend' || exit 1; +STAGE=$(if [ "$TRAVIS_BRANCH" == "master" ]; then echo "production"; else echo "$TRAVIS_BRANCH" ; fi) +aws sqs send-message --region "$AWS_DEFAULT_REGION" --queue-url "$AWS_SQS_URL" --message-body "crconnect/$STAGE/backend"