-
Notifications
You must be signed in to change notification settings - Fork 1
55 lines (45 loc) · 1.95 KB
/
provisioning.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
name: All aboard API - Provisioning
on:
repository_dispatch:
types: provisioning
jobs:
manual_deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: AWS cli install action
uses: chrislennon/action-aws-cli@1.1
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ secrets.AWS_REGION }}
- name: Create an ElasticBeanstalk application
run: |
aws elasticbeanstalk create-application \
--application-name all-aboard-api \
--description "All Aboard backend API" \
--tags Key=name,Value=all-aboard-api
- name: Create an ElasticBeanstalk configuration template
run: |
aws elasticbeanstalk create-configuration-template \
--application-name all-aboard-api \
--template-name all-aboard-api-v1 \
--solution-stack-name "64bit Amazon Linux 2 v3.1.3 running Corretto 11" \
--tags Key=name,Value=all-aboard-api
- name: Create an ElasticBeanstalk application version
run: |
aws elasticbeanstalk create-application-version \
--application-name all-aboard-api \
--version-label "ver-${{ github.sha }}" \
--description "commit-sha-${{ github.sha }}"
- name: Create an ElasticBeanstalk environment
run: |
aws elasticbeanstalk create-environment \
--application-name all-aboard-api \
--cname-prefix all-aboard-api-dev \
--template-name all-aboard-api-v1 \
--environment-name all-aboard-api-dev \
--version-label "ver-${{ github.sha }}" \
--option-settings Namespace=aws:autoscaling:launchconfiguration,OptionName=IamInstanceProfile,Value=aws-elasticbeanstalk-ec2-role