This repository is a study of how to use GitHub Actions to create and delete a CloudFormation stack.
The stack can be created manually using Manual Deploy
GitHub Actions workflow using the deploy-manual.yml file.
Actions
tabManual Deploy
workflowRun workflow
buttonParameters
form
us-east-1
)./files
folder)giro
)VPC
, EC2
, RDS
, S3
, etc)Run workflow
buttonI also implemented an issue creation workflow that can be triggered by label
event. This is not a traditional way, but it demonstrates the flexibility of the project. The idea is to create an issue with the resource to be deployed and add the approved
label to trigger the deployment. The workflow file is available at deploy-issue.yml.
Users steps:
Issues
tabNew issue
buttonTitle
Description
according to the templateSubmit new issue
buttonSRE/DevOps steps:
ec2
, rds
, s3
, etc) that matches the resource to be deployedapproved
label that will trigger the issue-creation
workflowAutomated steps:
issue-creation
workflow will be triggered by the label
eventapproved
label was addedec2
was added, the workflow will deploy an EC2 instancePublic IP
, Instance ID
, etc)The stack can be deleted manually using Manual Delete
GitHub Actions workflow using the delete-manual.yaml file.
Actions
tabManual Delete
workflowRun workflow
buttonParameters
form
us-east-1
)giro
)Run workflow
buttonCreated:
Outputs:
The repository is using cfn-lint
to validate the CloudFormation template. The lint
workflow is available at lint.yml file.
This workflow will be triggered by a push
event on the files/**
path and will validate the CloudFormation template.