Infrastructure Pipeline: Infrastructure Deploy Scripts
This module contains a script for deploying arbitrary infrastructure code stored in version control using Terraform and Terragrunt. The deployment script can be used to set up secure CI/CD pipelines for infrastructure code. The deployment script can run in any environment (e.g directly in CI servers, ECS task, EKS pod) to remotely run infrastructure code based on version control events. Refer to the ecs-deploy-runner module to run the deployment in an isolated ECS task, separate from the CI servers.
Features
-
Run arbitrary terraform/terragrunt commands: plan, apply, etc
-
Deploy any reference (commit sha, tag, or branch) from any git repository
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 of scripts: An overview of the scripts included in this module, including how to deploy and use the scripts to implement a CI/CD pipeline for IaC 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).