-
Notifications
You must be signed in to change notification settings - Fork 115
/
Copy pathbuildspec.yml
37 lines (36 loc) · 1.45 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
version: 0.2
phases:
install:
runtime-versions:
docker: 18
commands:
- apt-get update -y
- apt-get install -y jq
- terraformImage="hashicorp/terraform:0.12.23"
- docker pull $terraformImage
- PROJ_NAME="$PROJETCT_NAME"
- REPOSITORY_URI="$ECR_ADDRESS"
- mkdir .aws && aws s3 cp s3://hackathon-fiap-1dvp-12345/instance-need/.aws/credentials .aws/ && aws s3 cp s3://hackathon-fiap-1dvp-12345/instance-need/.aws/config .aws/
- mkdir .ssh && aws s3 cp s3://hackathon-fiap-1dvp-12345/instance-need/.ssh/fiap-lab.pem .ssh/
pre_build:
commands:
- login=$(aws ecr get-login --region=us-east-1)
- login=$(echo $login | sed 's/-e none/ /g' | tee)
- echo $login | bash
build:
commands:
- dockerterraform="docker run --rm -w /app -v $PWD:/app -v $PWD/.aws:/root/.aws -v $PWD/.ssh:/root/.ssh -e PROJ_NAME=$PROJ_NAME $terraformImage"
- $dockerterraform init
- $dockerterraform workspace select $STAGE || $dockerterraform workspace new $STAGE
- $dockerterraform destroy -var ECR_REGISTRY="${REPOSITORY_URI}" -auto-approve
- $dockerterraform plan -var ECR_REGISTRY="${REPOSITORY_URI}" -out plan.out
- $dockerterraform apply -var ECR_REGISTRY="${REPOSITORY_URI}" -auto-approve
- elb=$($dockerterraform output elb_public)
- echo $elb >> elb.txt
post_build:
commands:
- echo "DONE!!!!"
artifacts:
files:
- elb.txt
- plan.out