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..04533e71 100755 --- a/deploy.sh +++ b/deploy.sh @@ -1,14 +1,22 @@ #!/bin/bash # 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; +echo "$DOCKER_TOKEN" | docker login -u "$DOCKER_USERNAME" --password-stdin || 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" . || exit 1 +docker tag "$REPO:$COMMIT" "$REPO:$TAG" || exit 1 +docker tag "$REPO:$COMMIT" "$REPO:travis-$TRAVIS_BUILD_NUMBER" || 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 +# 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) +echo "STAGE = $STAGE" +aws sqs send-message --region "$AWS_DEFAULT_REGION" --queue-url "$AWS_SQS_URL" --message-body "crconnect/$STAGE/backend" || exit 1