Create CI-CD Pipeline using codepipeline, github, codebuild, codedeploy,s3:
This article provide simple pipeline to deploy static website from github to s3 bucket using codepipeline services of aws.
Step1st:
Create github repository and upload normal web site (index.html,style.css)
Step2nd:
create iam role name as codepipelinerole add (codebuildaccess, codepipelineaccess,s3fullaccess)
Add Inline Cloudwatch Policy
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "arn:aws:logs:us-east-1:060795909285:log-group:/aws/codebuild/*"
}
]
}
Step3rd:
create s3 bucket and unblock public access and enable static website option and add policy to GETBucket & putobject.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Resource": "arn:aws:s3:::my-ci-cd-indore/*"
}
]
}
Step4th:
Create AWS CodePipeLine and link to github account
Step5th:
Create CodeBuild Project with following deploy instruction
version: 0.2
phases:
build:
commands:
- echo "Building the static website"
# Copy the index.html and style.css to the S3 bucket
- aws s3 cp ./index.html s3://my-cicd-deployment-bucket/
- aws s3 cp ./style.css s3://my-cicd-deployment-bucket/
artifacts:
files:
- index.html
- style.css
Step6th:
Attach codebuild and switch to codedeploy it will deploy application
Step7th:
Click on S3 Static Website URL , Site will be opened.
Learn CI/CD Pipeline, Click here
Code of CodeBuild Project
version: 0.2
phases:
build:
commands:
- echo "Building the static website"
# Copy the index.html, css files, fonts, icons, images, and js files to the S3 bucket
- aws s3 cp ./index.html s3://codepipelinebucketindore/
- aws s3 cp ./css/ s3://codepipelinebucketindore/css/ --recursive
- aws s3 cp ./fonts/ s3://codepipelinebucketindore/fonts/ --recursive
- aws s3 cp ./images/ s3://codepipelinebucketindore/images/ --recursive
- aws s3 cp ./js/ s3://codepipelinebucketindore/js/ --recursive
artifacts:
files:
- index.html
- css/*
- fonts/*
- images/*
- js/*
POST Answer of Questions and ASK to Doubt