CI/CD Workflow on AWS

Mitesh N
2 min readDec 11, 2020

--

Here is simple CI-CD architecture that I recently created for client. Their architecture consisted of a Wordpress server with a Woocommerce plugin.

1. Developer working on our website pushes the code changes to remote repository on GitHub.

2. AWS CodePipeline polls GitHub for new commits. AWS CodePipeline lets you model and visualize custom release workflow (source à build à test (staging) à prod). It automates builds, tests, and deployments and it can integrate with third-party and custom tools such as Jenkins.

3. AWS CodePipeline pulls new commits into Zip file in S3.

4. Jenkins (running on an EC2 instance inside our VPC) polls CodePipeline for new activity.

5. Jenkins runs tests on code and notifies CodePipeline of results. The resulting source code is placed in the Artifacts folder on S3 by CodePipeline.

6. Servers are notified of deployment. This could be staging or production depending upon the setup. In the above example, it’s staging servers.

7. Servers download and install from S3 Artifacts folder.

8. CodeDeploy is notified of success or failure.

9. Managed Load test is run on the servers with help of Blazemeter. BlazeMeter is a continuous testing as a service platform provider which integrates with AWS CodePipeline & CodeDeploy.

10. On successful testing, Production deployment is triggered.

11. Production deployment is monitored in CloudWatch.

--

--

Mitesh N
Mitesh N

No responses yet