Part 1: Understanding CI/CD with AWS CodePipeline (A Jenkins Comparison)


When we talk about CI/CD (Continuous Integration & Continuous Delivery/Deployment), the first name that usually pops into mind is Jenkins. For years, Jenkins has been the go-to orchestrator for building pipelines, integrating tools, and automating deployments.
But in the AWS ecosystem, we have something equally powerful and fully managed: AWS CodePipeline.
Just like Jenkins plays a central role in traditional CI/CD setups, CodePipeline acts as the orchestrator for AWS-native CI/CD workflows.
So, why wait? Let’s dive in and understand CodePipeline by comparing it with the Jenkins ecosystem.
CI/CD with Jenkins – The Traditional Flow
In a typical Jenkins setup:
Source Code → Stored in GitHub (or another VCS).
Webhook → A commit triggers Jenkins.
Pipeline Execution → Jenkins runs the configured pipeline.
CI Phase →
Build
Test
Image Creation
Security Scan
Push to Registry
👉 These phases vary from one organization to another. Some add more steps like linting, integration tests, or SAST scans.
CD Phase → Deployment strategies differ:
GitOps (recommended for modern clusters)
Ansible / Shell scripts for servers
Helm charts for Kubernetes
Here, Jenkins acts as the orchestrator that manages the CI process and then triggers the CD process.
CI/CD with AWS CodePipeline – The Managed Approach
Now, let’s map the Jenkins workflow to AWS services with CodePipeline:
Source Stage →
CodePipeline connects to a Git-based repo (e.g., GitHub).
Note: AWS CodeCommit was an option, but it’s now deprecated, so GitHub/GitLab/Bitbucket is commonly used.
CI Stage (Continuous Integration) →
Orchestrated by CodePipeline, executed by CodeBuild.
Build steps (defined in
buildspec.yml
) can include:Build
Test
Image Creation
Security Scan
Push to ECR (Elastic Container Registry)
👉 Just like Jenkins build phases, these steps are configurable and depend on organizational needs.
CD Stage (Continuous Delivery/Deployment) →
Handled by CodeDeploy or other AWS services.
Deployment targets could be:
EC2 / Auto Scaling Groups
ECS / EKS (Containers)
Lambda (Serverless)
GitOps-like workflows can also be integrated for Kubernetes clusters.
Jenkins vs CodePipeline Mapping
Jenkins Ecosystem | AWS CI/CD Equivalent |
Jenkins (orchestrator) | CodePipeline (orchestrator) |
Jenkins Pipeline (CI) | CodeBuild (build & test) |
Deployment (via scripts, GitOps, Ansible) | CodeDeploy / GitOps for AWS |
GitHub as source | GitHub (or CodeCommit, now deprecated) |
👉 In simple terms: CodePipeline = Jenkins,
CodeBuild = Jenkins Pipeline,
CodeDeploy = Deployment tools (GitOps/Ansible/etc.)
Why Choose CodePipeline?
Fully Managed → No need to maintain Jenkins servers.
Native AWS Integration → Works seamlessly with AWS services.
Scalable & Secure → IAM-based permissions and auto-scaling builds.
Pay-as-you-go → Cost-efficient compared to self-hosting Jenkins.’
Key Takeaway:
If Jenkins is the heart of CI/CD in traditional setups, then in AWS, CodePipeline is the heart, with CodeBuild for CI and CodeDeploy for CD.
This forms the foundation of CI/CD on AWS—and in the upcoming parts of this series, we’ll go deeper into each stage with hands-on examples.
👉 Next in the series: "Part 2 – Setting up Your First Pipeline in AWS CodePipeline"
Subscribe to my newsletter
Read articles from Sravya Bolla directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
