generated from devopsacademyau/projects-template
-
Notifications
You must be signed in to change notification settings - Fork 2
56 lines (48 loc) · 2.08 KB
/
app-deploy.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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
name: "Application Deploy"
# Trigger when commits are pushed to the master branch
on:
push:
branches:
- master
paths:
- "docker/**"
jobs:
App-Deploy:
name: "App Deploy"
runs-on: ubuntu-latest
steps:
# Checkout the code
# Marketplace: https://github.com/marketplace/actions/checkout
- name: "Setup - Checkout"
uses: actions/checkout@v2.1.0
# Provides AWS credentials to Terraform
# By default, Terraform checks the home directory for a .aws folder with a credential file
# Documentation: https://docs.aws.amazon.com/ses/latest/DeveloperGuide/create-shared-credentials-file.html
- name: "Setup - Build AWS Credentials"
run: |
mkdir -p ~/.aws
echo "[default]" > ~/.aws/credentials
echo "aws_access_key_id = ${{ secrets.AWS_ACCESS_KEY_ID }}" >> ~/.aws/credentials
echo "aws_secret_access_key = ${{ secrets.AWS_SECRET_ACCESS_KEY }}" >> ~/.aws/credentials
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: "Setup Environment Variables"
run: |
touch .env
echo AWS_ACCESS_KEY_ID =${{ secrets.AWS_ACCESS_KEY_ID }} >> .env
echo AWS_SECRET_ACCESS_KEY = ${{ secrets.AWS_SECRET_ACCESS_KEY }} >> .env
cd terraform
touch backend.tfvars
printf "bucket=\"${{ secrets.S3_BUCKET_NAME }}\"" >> backend.tfvars
printf "\nkey=\"terraform.tfstate\"" >> backend.tfvars
printf "\nregion=\"ap-southeast-2\"" >> backend.tfvars
printf "your_home_network_cidr=\"${{ secrets.HOME_NETWORK_IP_CIDR }}\"" >> terraform.tfvars
printf "\nalb_certificate_arn= \"${{ secrets.SSL_CERTIFCATE_ARN }}\"" >> terraform.tfvars
printf "\ndns_name =\"${{ secrets.DNS_NAME }}\"" >> terraform.tfvars
printf "\nzone_id = \"${{ secrets.HOSTED_ZONE_ID }}\"" >> terraform.tfvars
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: "Application Deploy"
id: deploy
run: |
make all