Skip to content

This project uses GitHub actions to automate the complete CI/CD software pipeline for Python code.

Notifications You must be signed in to change notification settings

ewardq/epam_python_task

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Automated CI/CD System with SonarQube, GitHub Actions, and AWS Deployment.

This project implements a fully automated DevSecOps pipeline for Python packages, integrating code quality, security, and deployment workflows. The system:

  • Runs unit tests for multiple Python packages within GitHub Actions.
  • Performs static code analysis and security scans using SonarQube and security agents (hosted in AWS).
  • Enforces compliance by automatically merging code only if quality gates and coverage thresholds are met.
  • Updates the project README with latest test coverage and reports, pulling information from both SonarQube and GitHub Releases.
  • Builds Docker images and publishes them to GitHub Container Registry.
  • Deploys validated artifacts to AWS infrastructure.

SonarQube report

Current code status Quality gate
Current Status Acceptance Condition
Security Issues New code has 0 security issues
Reliability Issues New code has 0 reliability issues
Coverage New code has at least 80% coverage
Duplicated Lines (%) Code has less than 3% of lines duplicated

GitHub Actions breakdown

This project aims to automate as much as possible of the CI/CD pipeline git GitHub actions, so each time there is a commit to the master branch, all workflows (except release to docker hub and GitHub packages) run.

image

SonarQube analysis

SonarQube analysis

Workflow output SonarQube platform
image image

Update SonarQube analysis results badges

Update SonarQube Badges

Workflow output Images on repo
image image

Publish Docker image to Docker Hub

Publish Docker image

Workflow output Package on repo
image image

Publish Docker image to GitHub packages

Create and publish a Docker image

Run Python unit tests

Run Python Unit Test

Workflow output Coverage report
image image

Deploy in AWS Elastic Container Service

Deploy to Amazon ECS

Load Balancer ECR images
image image
ECS Cluster
image

About

This project uses GitHub actions to automate the complete CI/CD software pipeline for Python code.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors 3

  •  
  •  
  •