Skip to content

AWS Codebuild - Get started with CodeBuild in no time - use Terraform module now and streamline your build process!

License

Notifications You must be signed in to change notification settings

easy-modules/terraform-easy-code-build

Repository files navigation

Terraform easy modules

Terraform module to deploy Codebuild

Usage

module "codebuild" {
  source = "easy-modules/code-build/easy"

  codepipeline_enabled           = false
  cloudwatch_logs_enabled        = true
  source_type                    = "GITHUB"
  stage                          = "dev"
  type_project                   = "easy_modules"
  build_timeout                  = "20"
  queue_timeout                  = "10"
  buildspec_path                 = "buildspec.yaml"
  source_credentials_server_type = "GITHUB"
  repository_url                 = "https://github.com/easy-modules/terraform-easy-code-build.git"
  environment_type               = "LINUX_CONTAINER"
  environment_privileged_mode    = false
  environment_compute_type       = "BUILD_GENERAL1_SMALL"

  tags = {
    "Environment" = "dev"
  }
}

Requirements

Name Version
terraform >= 1.0
aws 4.67.0

Providers

Name Version
aws 4.67.0

Modules

No modules.

Resources

Name Type
aws_cloudwatch_log_group.app resource
aws_codebuild_project.codebuild resource
aws_codebuild_source_credential.source_credential resource
aws_iam_role.assume_role resource
aws_iam_role_policy.iam_role_policy resource
aws_caller_identity.current data source
aws_iam_policy_document.assume_role data source
aws_iam_policy_document.codebuild_policy_document data source
aws_region.current data source

Inputs

Name Description Type Default Required
build_timeout (optional) value of the build timeout string "20" no
buildspec_path (required) value of the buildspec path string "" no
cloudwatch_logs_enabled (optional) value of the cloudwatch logs bool false no
codepipeline_enabled (optional) value of the codepipeline enabled bool false no
environment_compute_type (optional) value of the environment compute type string "BUILD_GENERAL1_SMALL" no
environment_image (optional) value of the environment image string "aws/codebuild/amazonlinux2-x86_64-standard:4.0" no
environment_image_pull_credentials_type (optional) value of the environment image pull credentials type string "CODEBUILD" no
environment_privileged_mode (optional) value of the environment privileged mode bool "true" no
environment_type (optional) value of the environment type string "LINUX_CONTAINER" no
environment_variables (optional) value of the environment variable map(string)
{
"TERRAFORM": "true"
}
no
git_clone_depth (optional) value of the git clone depth number 1 no
iam_role_arn (optional) value of the arn string "" no
queue_timeout (optional) value of the queue timeout string "10" no
repository_url (optional) value of the repository name string "https://github.com/easy-modules/terraform-easy-code-build.git" no
retention_in_days (optional) value of the retention in days number 30 no
source_credentials_auth_type (optional) value of the auth type string "PERSONAL_ACCESS_TOKEN" no
source_credentials_server_type (optional) value of the server type string "GITHUB" no
source_credentials_token (optional) set token if source_type is different of 'NO_SOURCE' string "your-token-here" no
source_type (optional) value of the source type - CODEPIPELINE || GITHUB || BITBUCKET || S3 || NO_SOURCE string "GITHUB" no
stage (optional) DEV || PROD || TEST string "dev" no
tags (optional) tags for the resources map(string) {} no
type_project (optional) value of the project string "demo" no

Outputs

Name Description
aws_cloudwatch_log_group_arn The ARN of the CloudWatch log group
codebuild_project_arn The ARN of the CodeBuild project
codebuild_project_id The ID of the CodeBuild project
codebuild_project_name The name of the CodeBuild project
codebuild_project_tags The ARN of the CodeBuild project's