-
Notifications
You must be signed in to change notification settings - Fork 0
/
1
34 lines (34 loc) · 1.8 KB
/
1
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
version: 0.2
env:
variables:
AWS_DEFAULT_REGION: "ap-south-1"
AWS_ACCOUNT_ID: "374553884378"
IMAGE_REPO_NAME: "fargate-ecr"
IMAGE_TAG: "latest"
phases:
install:
runtime-versions:
docker: 18
pre_build:
commands:
- apt-get update -y && apt-get install jq -y
- echo Logging in to Amazon ECR...
- $(aws ecr get-login --region $AWS_DEFAULT_REGION --no-include-email)
build:
commands:
- echo Build started on `date`
- echo Building the Docker image...
- docker build -t $IMAGE_REPO_NAME .
- docker tag $IMAGE_REPO_NAME:$IMAGE_TAG $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com/$IMAGE_REPO_NAME:$IMAGE_TAG
post_build:
commands:
- echo Build completed on `date`
- echo Pushing the Docker image...
- docker push $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com/$IMAGE_REPO_NAME:$IMAGE_TAG
- tmp=$(mktemp) && SHA=$(docker inspect $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com/$IMAGE_REPO_NAME:latest | jq -c '.[0].RepoDigests' | sed 's/[][]//g' | sed 's/"//g') && jq -r --arg SHA "$SHA" '.Resources.TaskDefinition1.Properties.ContainerDefinitions[0].Image=$SHA' ecs-taskdefinition-service-uat.json > "$tmp" && mv -f "$tmp" ecs-taskdefinition-service-uat.json
- tmp=$(mktemp) && SHA=$(docker inspect $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com/$IMAGE_REPO_NAME:latest | jq -c '.[0].RepoDigests' | sed 's/[][]//g' | sed 's/"//g') && jq -r --arg SHA "$SHA" '.Resources.TaskDefinition1.Properties.ContainerDefinitions[0].Image=$SHA' ecs-taskdefinition-service-prod.json > "$tmp" && mv -f "$tmp" ecs-taskdefinition-service-prod.json
artifacts:
files:
- ecs-taskdefinition-service-uat.json
- ecs-taskdefinition-service-prod.json
discard-paths: yes