Overview of options for deploying μblog
This project focuses on deploying to AWS using ECS Fargate. GitHub Actions are used for deployment pipelines.
Infrastructure as Code Libraries
There are three options for Infrastructure as Code:
terraform-aws-django
open in new windowcdk-django
open in new windowpulumi-aws-django
open in new window
Consuming IaC libraries
The django-step-by-step
repo includes a directory called iac
with the following structure:
iac
├── cdk
├── pulumi
└── terraform
2
3
4
Each of these directories includes code that uses the IaC libraries referenced above. These directories include the "live" configuration files ({env}.json
, {env}.tfvars
, Pulumi.{env}.yaml
) that map to environments in AWS.
Infrastructure pipeline workflow filename convention
Each of these options has corresponding GitHub Actions workflow files.
These workflow files can be found in the .github/workflows
folder of django-step-by-step
using the following naming convention:
{ad_hoc,prod}_{base,app}_{create_update,destroy}_{cdk,terraform_pulumi}.yml
WARNING
Some workflow files may be missing
WARNING
At some point these GitHub Actions and associated files in the iac
directory may be moved to another GitHub repository
WARNING
Some workflow files may be using different patterns. All workflows should be using the actions/upload-artifact
and actions/download-artifact
GitHub Actions
TIP
For the most up-to-date information on these projects, please see their open-issues and recent CHANGELOG entries.
Article
See this article for an in-depth overview of these different deployment optionsopen in new window