-
Notifications
You must be signed in to change notification settings - Fork 0
/
buildspec.yml
39 lines (37 loc) · 1.68 KB
/
buildspec.yml
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
38
39
version: 0.2
phases:
pre_build:
commands:
- aws --version
- docker --version
- CI_COMMIT_SHORT_SHA=$(echo $CODEBUILD_RESOLVED_SOURCE_VERSION | cut -c1-6)
- ECR_BACKEND_REPOSITORY="$REGISTRY_URI/neev-$BATCH_ID-$TEAM_ID-backend-ecr"
- echo "building $ECR_BACKEND_REPOSITORY with tag $CI_COMMIT_SHORT_SHA"
- $(aws ecr get-login --no-include-email --region $REGION --registry-ids $REGISTRY_ID) # TODO : depricated; find a better way
build:
commands:
- echo "Build step"
# - ./gradlew test
- ./gradlew --build-cache --info bootjar
- export $(cat gradle.properties | grep appVersion)
- docker build -t bookingapi:latest . --no-cache --build-arg VERSION="$appVersion-$CI_COMMIT_SHORT_SHA" --build-arg REGISTRY_URI="${REGISTRY_URI}"
- docker tag bookingapi:latest $ECR_BACKEND_REPOSITORY:$CI_COMMIT_SHORT_SHA
post_build:
commands:
- echo "Post build step"
- docker push $ECR_BACKEND_REPOSITORY:$CI_COMMIT_SHORT_SHA
- export $(cat gradle.properties | grep appVersion)
- export VERSION="$appVersion-$CI_COMMIT_SHORT_SHA"
- echo "export VERSION=$VERSION" >> outputs.sh
- echo "export BOOKING_IMAGE=$ECR_BACKEND_REPOSITORY:$CI_COMMIT_SHORT_SHA" >> outputs.sh
- echo "Creating image definitions file"
- printf '[{"name":"db","imageUri":"%s"},' "$REGISTRY_URI/neev-postgres:stable" >> imagedefinitions.json
- printf '{"name":"backend","imageUri":"%s"}]' $ECR_BACKEND_REPOSITORY:$CI_COMMIT_SHORT_SHA >> imagedefinitions.json
artifacts:
files:
- imagedefinitions.json
- appspec.yml
- scripts/test_deployment.sh
- docker-compose.yml
- outputs.sh
- seedShowData.sh