Infrastructure Pipeline: Infrastructure Deployer CLI
View SourceRelease NotesThis module contains a CLI that can be used to set up a secure CI/CD pipeline for your infrastructure code (Terraform, Terragrunt, Packer, Docker, etc). This CLI can be used to in existing CI servers (e.g Jenkins, CircleCI, GitLab) to set up workflows that:
Run
plan
andapply
with approval stagesBuild docker images for every PR
Build VM images (e.g., AMIs) for every PR
Automatically update infrastructure configurations and deploying them
These workflows can be invoked on an isolated ECS task setup by the ecs-deploy-runner module.
Refer to the ecs-deploy-runner module for more information on the ECS task.
Features
Run arbitrary terraform/terragrunt commands: plan, apply, etc
Run docker and packer image builds
Deploy any reference (commit sha, tag, or branch) from any git repository
Synchronously wait for deployments to complete before exiting
Stream log outputs from deployments as they happen
Learn
Note
This repo is a part of the Gruntwork Infrastructure as Code Library, a collection of reusable, battle-tested, production ready infrastructure code. If you’ve never used the Infrastructure as Code Library before, make sure to read How to use the Gruntwork Infrastructure as Code Library!
Core concepts
- Overview: An overview of the CLI and how to use it within CI jobs to implement an automated workflow for infrastructure code.
Repo organization
modules: the main implementation code for this repo, broken down into multiple standalone, orthogonal submodules.
examples: This folder contains working examples of how to use the submodules.
test: Automated tests for the modules and examples.
Deploy
Non-production deployment (quick start for learning)
If you just want to try this repo out for experimenting and learning, check out the following resources:
- examples folder: The
examples
folder contains sample code optimized for learning, experimenting, and testing (but not production usage).