Skip to content

Practical DevSecOps Solution: Hybrid Cloud CI/CD with Jenkins, Terraform & AWS

Notifications You must be signed in to change notification settings

Sanchistor/DevSecOps-practice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 

Repository files navigation

DevSecOps

Overview

This repository provides a practical DevSecOps solution integrating Jenkins, Terraform, AWS (EKS, ECR, S3, VPN), and Helm for secure, automated CI/CD pipelines. This setup enables seamless hybrid cloud deployment, secure infrastructure provisioning, and automated application delivery.

Branches

This repository contains multiple branches, each dedicated to a specific aspect of the DevSecOps workflow:

  • πŸ”Ή asp-deployment – Manages the deployment of ASP.NET applications with enabled SAST/DAST/Dependency scanning and Image scanning security validation.
  • πŸ”Ή main – The primary branch containing description of production-ready configurations.
  • πŸ”Ή provision-resources – Handles Terraform and Amazon Lambda scripts for provisioning AWS infrastructure that can be destroyed by one button.
  • πŸ”Ή wagtail-deployment – Deploys Wagtail CMS Helm with enabled SAST/DAST/Dependency scanning and Image scanning security validation.

Features

  • βœ… Hybrid Cloud CI/CD – On-prem Jenkins securely deploys to AWS resources.
  • βœ… Infrastructure as Code (IaC) – Terraform provisions EKS, ECR, VPN, and S3.
  • βœ… Secure Container Management – Store and manage Docker images in Amazon ECR.
  • βœ… Automated Deployments – Deploy applications to EKS using Helm charts.
  • βœ… Least Privilege IAM Roles – Secure access with AWS IAM role-based policies.
  • βœ… Terraform State Management – Encrypted S3 backend with DynamoDB state locking.
  • βœ… Auto Cleanup Pipeline – Automatically destroy AWS resources after testing.

Getting Started

1. Clone the Repository

git clone https://github.com/Sanchistor/DevSecOps-practice.git
cd DevSecOps-practice

2. Setup AWS Credentials

Ensure your AWS credentials are configured for Terraform and Jenkins to access AWS services:

aws configure

3. Initialize Terraform & Deploy Resources

terraform init
terraform apply -auto-approve

4. Configure Jenkins & Run Pipeline

  • Set up Jenkins with the necessary plugins (Terraform, AWS CLI, Docker, Helm, and Kubernetes).
  • Add your AWS credentials to Jenkins.
  • Run the Jenkins pipeline to build and deploy applications securely.

Cleanup

To destroy all AWS resources after testing:

terraform destroy -auto-approve

πŸš€ Happy Coding!

About

Practical DevSecOps Solution: Hybrid Cloud CI/CD with Jenkins, Terraform & AWS

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published