-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdeploy.sh
executable file
·37 lines (30 loc) · 1.27 KB
/
deploy.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#! /bin/bash
# Tag, Push and Deploy only if it's not a pull request
if [ -z "$TRAVIS_PULL_REQUEST" ] || [ "$TRAVIS_PULL_REQUEST" == "false" ]; then
# Push only if we're testing the master branch
if [ "$TRAVIS_BRANCH" == "master" ]; then
echo Getting the ECR login...
eval $(aws ecr get-login --no-include-email --region $AWS_DEFAULT_REGION)
REMOTE_DOCKER_PATH="$DOCKER_REPO"/"$DOCKER_REPO_NAMESPACE"/"$DOCKER_IMAGE"
# tag with branch and travis build number then push
TAG=travis-buildnum-"$TRAVIS_BUILD_NUMBER"
echo Tagging with "$TAG"
docker tag "$DOCKER_IMAGE":latest "$REMOTE_DOCKER_PATH":"$TAG"
docker push "$REMOTE_DOCKER_PATH":"$TAG"
# tag with "latest" then push
TAG=latest
echo Tagging with "$TAG"
docker tag "$DOCKER_IMAGE":latest "$REMOTE_DOCKER_PATH":"$TAG"
docker push "$REMOTE_DOCKER_PATH":"$TAG"
#echo Running ecs-deploy.sh script...
bin/ecs-deploy.sh \
--service-name "$ECS_SERVICE_NAME" \
--cluster "$ECS_CLUSTER" \
--image "$REMOTE_DOCKER_PATH":latest \
--timeout 300
else
echo "Skipping deploy because branch is not master"
fi
else
echo "Skipping deploy because it's a pull request"
fi