This module will deploy CI pipeline based on CodePipeline
, CodeBuild
and CodeCommit
.
Documentation, about how to deploy it, is provided as an example here.
The optional and required parameters to be passed are documented directly in the variables.tf file.
CodeBuild
can be deployed in Public and Private Subnet (this needs to be provided apart) Private Subnet can be useful in case of connectivity with on-prem resources.- Support cross account deployments. As a pre-requisite a role thrusting the account where the CI is provided and with the right permissions should be provided.
custom_tags
: tags to be attached to the deployed resourcesaccount_type
: Human readable name for the target account. The target account can be either the same account whereCodeBuild
is running or a remote account. This value will be exposed as environment variable insideCodeBuild
.pipeline_deployment_bucket_name
: Bucket name for storing the artifacts, this will be created duringTerraform
rungit_repository_name
: TheCodeCommit
repository name that you want to create and will be monitored byCodePipeline
A basic Terraform test is provided for educational purpose using golang Terratest
library
and automatically performed by CodeBuild
.
The test will:
- Try to deploy the all the resources described in the module
- Check and compare CodePipeline and CodeBuild names
- Destroy all the resources either is the test failed or exited successfully.
- Save report and logs locally in order to be retrieved by the CI.