A deployment pipeline for provisioning your resources into AWS! Configured in YAML, and aiming at being simple to use.
This module gives your environment a deployment pipeline for your applications. Using a simple YAML file, you can deploy any repo you want!
Here is how simple it can be to deploy a terraform repository:
# .deployment/config.yaml
# This defines what each environment should do on deployment.
deployment:
steps:
- deploy_terraform:
version: 1.0.8
# This is the order that deployments happen.
# In this case it's first service, test and stage that gets deployed.
# Production then deploys when those are successful.
flow:
- [service, test, stage]
- prod
In the examples directory you can find multiple examples. These can be helpful to set up the pipeline in your own team!
- Pipeline Setup
-
This example shows you how to set up the pipeline for your account set. It is specifically for your
<team>-aws
repository. - Microservice Deployment
-
In this example, you can see how to deploy a simple microservice.
The pipeline has some features that make your life easier. All the following examples are top level stanzas that you can just drop right into your configuration.
Deploy your environments in any order you want! Want to be a madman and deploy production first? Go ahead (but please don’t).
flow:
- [service, test, stage]
- prod
Specify applications you want to always keep up to date, based on a tag.
Now you can access the current deployed version via a SSM parameter - artifacts/<repo-name>/<application-name>
!
You can find the location of the artifact in the sub-parameters path
and location
.
# Specify the applications you want to bump
applications:
ecr:
- name: demo-container
tag_filters: [master-branch]
lambda:
- name: demo-serverless
tag_filters: [master-branch]
frontend:
- name: demo-frontend
tag_filters: [master-branch]
steps:
# Activate automatic version bumping in the pipeline
- bump_versions
- # [...]
If you’re using the old pipeline setup, we have a guide to follow to get you up to date with this one!
Check out the migration guide in our docs!