AWS DevOps CI/CD Pipeline

AWS CodePipeline via UI Console | Cloud Platform Engineering Project

Building CI/CD pipelines using CodePipeline tool by building infrastructure via UI console and orchestrating the CodeBuild through buildspec.yaml Key-Value Pair script along with creating a simple bucket policy

This project prioritizes operational correctness and real-world AWS workflows over abstraction.

Project Summary

Comprehensive Project Overview

Project Category

AWS Cloud + AWS DevOps → CI/CD on Cloud

Industry/Domain

Cloud Computing + DevOps (Platform Engineering)

DevOps Focus

DevOps Focus with Automation

Problem & Objective

What problem did this project solve?

Problems Solved

  • Deployment of a software product like App or website through automatic pull request and trigger, at a speed
  • Safe roll-back option whenever necessary
  • Manual Approval Intervention simulating the real world scenarios

Primary Objectives

  • Creating a robust Infrastructure through CodePipeline Tool UI console
  • Build a Working Model - Use AWS DevOps for CI/CD Pipelines Structure

Solution & Architecture

Architectural Overview

Solution Overview

Using GitHub as the source for the code and then using the buildspec.yaml script to build the CI and then use CodePipeline as a CD tool with multiple stages for build, staging approve and prod approve and then final deployment of the application on AWS S3. There is a manual approval process to have a human intervention, which is an industry grade practice.

AWS S3 by creating a stage and prod folders was chosen to demonstrate CI/CD principles independent of backend complexity, keeping focus on pipeline design, approvals, and deployment strategy rather than application logic.

Environment separation is implemented logically via pipeline stages and deployment targets (S3 stage/prod paths), mirroring environment constructs used in Azure and GCP.

AWS DevOps CI/CD Architecture Diagram
1
GitHub Source
2
CodePipeline
3
CodeBuild
4
Manual Approval
5
S3 Deployment

Key Components

  • Cloud Platform used: AWS
  • Services Used: AWS CodePipeline, AWS CodeBuild, AWS S3, AWS SNS, CloudWatch
  • Stages: Build-StageApproval-Staging/Testing-ProdApproval-Deploy

Skills & Technologies Used

Technical Proficiency Demonstrated

Primary Skills

  • Creating CI and CD via AWS UI console
  • Skill in using the cloud tools - Resources
  • Pipeline building process
  • GitHub usage

Secondary Tools / Frameworks

  • Amazon S3 bucket; creation of bucket policy for web access to the world
  • AWS SNS - Simple Notification Service

Programming Languages & Tools

  • buildspec.yaml codebuild configuration file
  • Node.js web app (provided by developer)
  • GitHub CLI Commands

Cloud & DevOps Tools

AWS Cloud AWS DevOps GitHub AWS CodePipeline AWS CodeBuild AWS S3

Pipeline Execution & Governance

How the pipeline works and is controlled

Pipeline Execution

  • Pipelines - run manually / run automated upon changes in the code (grep command)
  • Orchestration: code push and grep, timeout, queued timeout
  • Logging - CloudWatch
  • Manual Approval stages

Governance & Controls

  • Manual approval stages implemented using AWS DevOps pipeline stages
  • Timeout and queued timeout safeguard configured to handle code build and nonresponsive approvals
  • Roll backs possible at every stage of the pipeline making it autonomous

Technical Challenges & Resolutions

Key Technical Challenges

  • Challenge 1: How to give both Manual Approval and Automated Approval at the same time
  • Challenge 2: How to create a pipeline and rollback at multiple stages

Resolutions

  • Resolution 1: Manual approval stages were implemented using AWS DevOps pipeline stages
  • Resolution 2: A timeout and queued timeout safeguard was configured to handle code build and nonresponsive approvals and simulate real-world escalation or rollback scenarios. Roll backs are possible at every stage of the pipeline making it autonomous.

AWS DevOps CI/CD - Architecture & YAML Mapping

Architecture to AWS construct mapping

Architecture Block AWS CI/CD Construct
CodeCommit / GitHub Source action (CodePipeline) / GitHub webhook
AWS CodePipeline Pipeline root, Stages
Linux Runner CodeBuild environment (environment: type: LINUX_CONTAINER)
Build Stage CodeBuild project (buildspec.yml → phases)
Manual Approval Manual approval action (CodePipeline)
Dev / Staging Pipeline stage (Dev / Staging)
Production Pipeline stage (Production) with separate S3 paths
Artifact Storage Amazon S3 bucket for artifacts
Deployment Target S3 bucket with stage/prod folders
Environment Identity IAM roles & policies
Logging & Monitoring CloudWatch logs

Pipeline Execution Evidence

Proof of successful implementation

Code Build Execution

CodeBuild project execution with buildspec.yaml configuration.

AWS build

Code Pipeline Stages

Multi-stage pipeline execution with manual approvals and deployment stages.

AWS Code Pipeline Screenshot

Rollback Capabilities

Rollback functionality demonstrated at multiple pipeline stages:

  • Roll Back: Deploy stage
  • Roll Back: Staging stage
  • GIT CODE CHANGES: Via commit hash

Assets & References

Code, diagrams, study material

AWS Console Configuration

This AWS CI/CD implementation intentionally demonstrates console-level configuration to reflect real-world AWS DevOps workflows, where pipeline orchestration, approvals, IAM, and deployment strategies are commonly managed through the AWS Console.

  • AWS DevOps + AWS Cloud (Project Links included- github)
  • a. Pipelines - Using Console UI to create PIPELINES and resources - with GitHub as a single source of truth
  • S3 bucket creation: name → ACL disabled → unblock all public access → Default encryption (SSE-S3-AES 256) → create
  • S3 Permissions: bucket policy with version → root → label → action → scope of action → users → arm format with bucket name/*
  • S3 Properties: static website hosting → enable → Index.html (default) → error.html(error page) → save → static web hosting endpoint
  • CodePipeline(3 steps) → build custom pipeline (7 steps)
  • Steps 1&2: name → execution mode(Queued) → service role → role name → artefact store (custom) → bucket → encryption key(default) → next
  • Step:3 Add Source Stage: Source provider → GitHub(via OAuth app) → Repo → Branch → next
  • Step:4 Add Build Stage → Other Build Providers → AWS CodeBuild → project name → proj type → ENVIRONMENT → on demand and Managed_Image(server) → provisioning model (on-demand) → compute(EC2) → running_mode(container) → OS(Amazon Linux) → Runtime → Image(latest) → Image_version(latest) → service_role → role_name → Auto-retry limit → timeout → Queued timeout → certificate(none) → VPC → compute(capacity) → env-variables → parameters → BuildSpec → use buildspec file CI TOOL config file (.yaml) Buildspec(use buildspec file) → buildspec name(buildspec.yml) → logs → cloud watch → group name → next Other build providers → create project → (CodeBuild) → Project name → Build type → Region → Artifacts (source) → next
  • Step:5 ; Add Test stage → next
  • Step:6 ; Add Deploy Stage → AWS S3 → Region → Input artifacts → Bucket → deploy path → extract file (zip file) → auto roll back on failure → next
  • Step:7; Review → create Pipeline
  • Copy endpoint and use it to open the app: http://aws-devops-sep25-test.s3-website-us-east-1.amazonaws.com/prod1

GitHub Repository

Source code repository containing the Node.js web application and AWS configuration files.

Access Repository

Study Material Resources

Click the button below to open the study materials

Request Study Material

Study Material - AWS DevOps CI/CD

AWS DevOps CI/CD Pipeline Architecture
Complete architecture diagram and setup guide for AWS CodePipeline workflows and pipelines
Download
buildspec.yaml Configuration Guide
Official documentation and best practices for AWS CodeBuild buildspec.yaml configuration
Download
AWS Console Configuration Best Practices
Detailed guide to configuring AWS services through console for real-world DevOps workflows
Download
Advanced AWS CodePipeline Configurations
Premium materials for complex workflows, approval gates, and multi-environment deployments
Download
S3 Static Website Deployment Guide
Complete guide to deploying static websites to S3 via AWS CodePipeline
Download
AWS IAM & Security Best Practices
Security guidelines and best practices for managing IAM roles and policies in AWS DevOps
Download
Production AWS DevOps Architecture
Enterprise architecture patterns for scalable AWS DevOps deployments
Download
CI/CD Best Practices for AWS
Complete framework for implementing CI/CD with AWS DevOps tools
Download