In this demo, we will:
demo-webapp
aws-codebuild-demo
Demo application for AWS CodeBuild
mkdir aws-codebuild-demo
cd aws-codebuild-demo
git init
code .
git branch -M main
git add .
git commit -m "Initial commit - AWS CodeBuild demo application"
git branch -M main
git remote add origin https://github.com/learnpde/aws-codebuild-demo.git
CodeBuild Demo
git push https://learnpde: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@github.com/learnpde/aws-codebuild-demo.git main
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "arn:aws:logs:*:*:*"
},
{
"Effect": "Allow",
"Action": [
"ecr:BatchCheckLayerAvailability",
"ecr:CompleteLayerUpload",
"ecr:GetAuthorizationToken",
"ecr:InitiateLayerUpload",
"ecr:PutImage",
"ecr:UploadLayerPart",
"ecr:BatchGetImage",
"ecr:GetDownloadUrlForLayer"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:GetObjectVersion"
],
"Resource": "arn:aws:s3:::codepipeline-*/*"
}
]
}
CodeBuildDemoPolicy
CodeBuildDemoPolicy
CodeBuildServiceRole-Demo
demo-webapp-build
Build project for containerized web application
GitHub-Connection-For-CodeBuild
GitHub-Connection-For-CodeBuild
https://github.com/learnpde/aws-codebuild-demo
buildspec.yml
/aws/codebuild/demo-webapp-build
AWS_DEFAULT_REGION
AWS_ACCOUNT_ID
us-east-1
export AWS_ACCOUNT_ID="651623850282"
export AWS_REGION="us-east-1"
aws ecr get-login-password --region $AWS_REGION | docker login --username AWS --password-stdin $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com
docker pull $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/demo-webapp:latest
docker run -p 8080:80 $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/demo-webapp:latest
http://localhost:8080
http://localhost:8080/health
CodeBuildDemoPolicy
CodeBuildDemoPolicy
CodeBuildServiceRole-Demo
CodeBuildServiceRole-Demo