Skip to content

Latest commit

 

History

History
81 lines (56 loc) · 4.95 KB

README.md

File metadata and controls

81 lines (56 loc) · 4.95 KB

English / 日本語

AWSCloudFormationTemplates/cicd

Build Status GitHub GitHub release (latest by date)

AWSCloudFormationTemplates/cicd deploys CloudFormation templates in this repository using CodePipeline.

TL;DR

If you just want to deploy the stack, click one of the two buttons below.

Architecture

The following sections describe the individual components of the architecture.

This template creates the following diagram.

Preparation

Generate a GitHub personal access token

Generate a GitHub personal access token and copy it.

Create S3 artifact bucket in us-east-1 (Optional)

If you deploy Global Settings Template, create an S3 artifact bucket in N.Verginia (us-east-1) region.

aws s3api create-bucket --bucket my-bucket --region us-east-1

Set up template configuration files (Optional)

If you use Template Configuration File, upload your configuration files to your GitHub repository with the following file names and specify GitHubOwnerNameForTemplateConfiguration and GitHubRepoNameForTemplateConfiguration in your deployment.

Stack Name Template Configuration File Name
CICD Template CICD.json
Global Settings Template GlobalSettings.json
Notification Template Notification.json
Security Template DefaultSecuritySettings.json
Security Template with Config Rule DefaultSecuritySettings-ConfigRules.json
Static Website Hosting Template StaticWebsiteHosting.json
EC2-based Web Servers Template WebServers.json
Systems Manager Template SystemsManager.json

Deployment

Execute the command to deploy with ArtifactBacketInVirginia and GitHubOAuthToken parameter.

aws cloudformation deploy --template-file template.yaml --stack-name StaticWebsiteHosting --parameter-overrides ArtifactBacketInVirginia=my0bucket GitHubOAuthToken=XXXXX

You can provide optional parameters as follows.

Name Type Default Required Details
ArtifactBacketInVirginia String The S3 artifact bucket name in N.Verginia region
CodeBuildImageName String aws/codebuild/amazonlinux2-x86_64-standard:3.0 The Docker image name for CodeBuild
GitHubOAuthToken String The OAuth token to access GitHub.
GitHubOwnerNameForTemplateConfiguration String The GitHub owner name for CloudFormation Template Configuration files
GitHubRepoNameForTemplateConfiguration String The GitHub repository name for CloudFormation Template Configuration files
TemplateConfigurationBasePath String The base path of template configration files.
DefaultSecuritySettingsConfigRules ENABLED / DISABLED DISABLED If it is ENABLED, DefaultSecuritySettings-ConfigRules stack is deployed.
GlobalSettings ENABLED / DISABLED DISABLED If it is ENABLED, GlobalSettings stack is deployed.
Notification ENABLED / DISABLED DISABLED If it is ENABLED, Notification stack is deployed.
Route53 ENABLED / DISABLED DISABLED If it is ENABLED, Route53 stack is deployed.
StaticWebsiteHosting ENABLED / REALTIME_DASHBOARD_ONLY / DISABLED DISABLED If it is ENABLED, StaticWebsiteHosting stack is deployed.
WebServers ENABLED / SYSTEMS_MANAGER_ONLY / DISABLED DISABLED If it is ENABLED, WebServers stack is deployed.