-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathbuildspec.yml
More file actions
42 lines (42 loc) · 1.79 KB
/
Copy pathbuildspec.yml
File metadata and controls
42 lines (42 loc) · 1.79 KB
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
40
41
42
version: 0.2
env:
variables:
LOGO_URL: $LOGO_URL
PROXY_APP_URL: $PROXY_APP_URL
PAGE_TITLE: $PAGE_TITLE
LOCAL_STORAGE_KEY: $LOCAL_STORAGE_KEY
BUNDLE_API_URL: $BUNDLE_API_URL
REPOSITORY_NAME: $REPOSITORY_NAME #i.e. quickfresh-bundle-builder-proxy
CONTAINER_NAME: $CONTAINER_NAME #i.e. quickfresh-bundle-builder-proxy-container
STORE_SETTINGS_KEY: $STORE_SETTINGS_KEY
AWS_URI: $AWS_URI
REPOSITORY_URI: $REPOSITORY_URI
phases:
install:
runtime-versions:
nodejs: 12
pre_build:
commands:
#install dependencies
- if [ -z ${REPOSITORY_NAME+x} ]; then echo "REPOSITORY_NAME env variable must be set" && exit 1; fi
- echo Logging in to Amazon ECR...
- aws --version
- aws ecr get-login-password --region $AWS_DEFAULT_REGION | docker login --username AWS --password-stdin $AWS_URI
- COMMIT_HASH=$(echo $CODEBUILD_RESOLVED_SOURCE_VERSION | cut -c 1-7)
- IMAGE_TAG=${COMMIT_HASH:=latest}
build:
commands:
- echo Build started on `date`
- echo Building the Docker image...
- docker build -t $REPOSITORY_URI:latest --build-arg appurl=$PROXY_APP_URL --build-arg storagekey=$LOCAL_STORAGE_KEY --build-arg apiurl=$BUNDLE_API_URL --build-arg logo=$LOGO_URL --build-arg storeSettingsKey=$STORE_SETTINGS_KEY .
- docker tag $REPOSITORY_URI:latest $REPOSITORY_URI:$IMAGE_TAG
post_build:
commands:
- echo Build completed on `date`
- echo Pushing the Docker images...
- docker push $REPOSITORY_URI:latest
- docker push $REPOSITORY_URI:$IMAGE_TAG
- echo Writing image definitions file...
- printf "[{\"name\":\"$CONTAINER_NAME\",\"imageUri\":\"%s\"}]" $REPOSITORY_URI:$IMAGE_TAG > imagedefinitions.json
artifacts:
files: imagedefinitions.json