Skip to content

stormreply/codepipeline-demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

codepipeline-demo

A demo of AWS codepipeline, using github, codebuild and codedeploy

Storm Library for Terraform

This repository is a member of the SLT | Storm Library for Terraform, a collection of Terraform modules for Amazon Web Services. The focus of these modules, maintained in separate GitHub™ repositories, is on building examples, demos and showcases on AWS. The audience of the library is learners and presenters alike - people that want to know or show how a certain service, pattern or solution looks like, or "feels".

Learn more

Installation

This demo can be built using GitHub Actions. In order to do so

Deployment of this member will take 4-5 minutes on GitHub resources.

Architecture

[Image]

Explore this demo

Follow these steps in order to explore this demo:

  1. Developer Tools -> Settings -> Connections: select slt github connection, click "Update Pending Connection"
  2. In the pipeline, re-run the failed Source action, which will trigger the whole pipeline
  3. Note that it will be stuck in the Approval stage. Click "Manual Approval", approve and optionally enter a comment
  4. Wait for the pipeline to finish
  5. In the Deploy state, click on "Amazon ECS"
  6. In the ECS view, click on the Load Balancer
  7. In the Load Balancer view, copy the DNS name
  8. Use the DNS name in the input of a new tab. NOTE: prefix http://, do NOT use the default https://
  9. You will see the application page. It's containing info about the Container IP and the Commit SHA from which it was built. Countercheck the Commit SHA

Terraform Docs

Click to show

Requirements

Name Version
terraform >= 1
aws >= 6

Providers

Name Version
aws 6.16.0

Modules

No modules.

Resources

Name Type
aws_codebuild_project.build resource
aws_codepipeline.pipeline resource
aws_codestarconnections_connection.github resource
aws_default_subnet.default resource
aws_default_vpc.default resource
aws_ecr_repository.repo resource
aws_ecs_cluster.cluster resource
aws_ecs_service.service resource
aws_ecs_task_definition.task resource
aws_iam_role.codebuild resource
aws_iam_role.codepipeline resource
aws_iam_role.ecs_task_exec resource
aws_iam_role_policy.codebuild_ecr resource
aws_iam_role_policy.codebuild_logs resource
aws_iam_role_policy.codebuild_s3_artifacts resource
aws_iam_role_policy.codepipeline_codebuild resource
aws_iam_role_policy.codepipeline_codestar resource
aws_iam_role_policy.codepipeline_ecr resource
aws_iam_role_policy.codepipeline_ecs resource
aws_iam_role_policy.codepipeline_s3_artifacts resource
aws_iam_role_policy.ecs_task_exec resource
aws_iam_role_policy_attachment.aws_codebuild_developer_access resource
aws_iam_role_policy_attachment.aws_codepipeline_fullaccess resource
aws_lb.app resource
aws_lb_listener.http resource
aws_lb_target_group.app resource
aws_s3_bucket.artifacts resource
aws_security_group.alb resource
aws_security_group.ecs_tasks resource
aws_availability_zones.available data source
aws_caller_identity.current data source
aws_iam_policy_document.ecs_task_exec data source
aws_region.current data source

Inputs

Name Description Type Default Required
_metadata Select metadata passed from GitHub Workflows
object({
actor = string # Github actor (deployer) of the deployment
catalog_id = string # SLT catalog id of this module
deployment = string # slt-<catalod_id>--
ref = string # Git reference of the deployment
ref_name = string # Git ref_name (branch) of the deployment
repo = string # GitHub short repository name (without owner) of the deployment
repository = string # GitHub full repository name (including owner) of the deployment
sha = string # Git (full-length, 40 char) commit SHA of the deployment
short_name = string # slt-<catalog_id>-
time = string # Timestamp of the deployment
})
{
"actor": "",
"catalog_id": "",
"deployment": "",
"ref": "",
"ref_name": "",
"repo": "",
"repository": "",
"sha": "",
"short_name": "",
"time": ""
}
no
github_owner n/a string "stormreply" no
github_repo n/a string "codepipeline-demo" no

Outputs

Name Description
_slt_config Map of SLT configuration
load_balancer_dns_name DNS name of the Application Load Balancer
load_balancer_url URL of the Application Load Balancer

Credits

  • [...]

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors