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

Sravya BollaSravya Bolla
3 min read

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:

  1. Source Code → Stored in GitHub (or another VCS).

  2. Webhook → A commit triggers Jenkins.

  3. Pipeline Execution → Jenkins runs the configured pipeline.

  4. 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.

  1. 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:

  1. 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.

  2. 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.

  1. 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 EcosystemAWS CI/CD Equivalent
Jenkins (orchestrator)CodePipeline (orchestrator)
Jenkins Pipeline (CI)CodeBuild (build & test)
Deployment (via scripts, GitOps, Ansible)CodeDeploy / GitOps for AWS
GitHub as sourceGitHub (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"

0
Subscribe to my newsletter

Read articles from Sravya Bolla directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Sravya Bolla
Sravya Bolla