Terraform script to create AWS Codepipeline
Terraform Script Github
Terraform script creates the following
-
AWS Codebuild project
-
Roles
-
ECR repository for storing docker images
-
S3 bucket for storing the build artifacts, codepipeline artifacts
-
SSM parameter store to store the Docker Hub password
-
AWS EC2 instance and install the codedeploy agent
-
AWS Codedeploy application
-
AWS codedeploy deployment group
-
AWS Codepipeline
Code build project
-
Compiles the java project using maven
-
Build the docker image
-
Push the docker image to ECR repository
-
Publish the artifacts to s3 bucket
Code deploy
-
Install docker if not preset
-
Check if docker service is running or not
-
Stops the old docker container if running
-
Creates new docker container with new docker image
-
Validates if newly created docker container is running or not
Code pipeline
-
Takes the code from github, zip it and push to s3 bucket
-
Triggers the codebuild project, picks the codepipeline build artifacts from s3
-
Triggers the codedeploy