-
Notifications
You must be signed in to change notification settings - Fork 0
72 lines (67 loc) · 2.18 KB
/
launch-ec2-instance.yml
File metadata and controls
72 lines (67 loc) · 2.18 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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
name: Launch EC2 Instance
on:
workflow_dispatch:
inputs:
stack_name:
description: "Stack Name"
required: true
instance_type:
description: "EC2 Instance Type"
required: true
default: "t2.micro"
ami_id:
description: "AMI ID"
required: true
default: "ami-0b20f552f63953f0e"
availability_zone:
description: "Availability Zone"
required: true
default: "ap-northeast-1c"
key_name:
description: "EC2 KeyPair Name"
required: true
default: "deploy_key"
instance_name:
description: "Instance Name"
required: true
default: "coseeing-instance"
security_groups:
description: "Security Group IDs (comma-separated)"
required: true
default: "sg-098baa9d7eaf501a8,sg-0d260cbf1556be14b,sg-066316b193b070e3c"
disk_size:
description: "Root Volume Size (GB)"
required: true
default: "8"
permissions:
contents: write
pull-requests: write
jobs:
launch:
name: launch ec2 instance
runs-on: ubuntu-latest
permissions:
id-token: write
contents: read
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: ${{ secrets.AWS_GITHUB_ACTION_ROLE }}
aws-region: ap-northeast-1
- name: Deploy CloudFormation stack
uses: aws-actions/aws-cloudformation-github-deploy@v1
with:
name: ${{github.event.inputs.stack_name}}
template: cloudformation/common-ec2-instance-template.yml
parameter-overrides: >-
InstanceType=${{ github.event.inputs.instance_type }},
AmiId=${{ github.event.inputs.ami_id }},
AvailabilityZone=${{ github.event.inputs.availability_zone }},
KeyName=${{ github.event.inputs.key_name }},
InstanceName=${{ github.event.inputs.instance_name }},
SecurityGroups="${{ github.event.inputs.security_groups }}",
DiskSize=${{ github.event.inputs.disk_size }}
no-fail-on-empty-changeset: "1"