This repository demonstrates a fully automated CI/CD pipeline for building, testing, and deploying a web application. The project leverages modern tools like Docker, Jenkins/GitHub Actions, and a cloud provider (AWS/GCP/Azure) for seamless integration and deployment.
Automate the build, test, and deployment process of a web application using CI/CD practices.
- CI/CD Tool: Jenkins / GitHub Actions / GitLab CI/CD
- Containerization: Docker
- Cloud Provider: AWS / GCP / Azure (or Kubernetes cluster for deployment)
- Web Framework: Flask (Python) / Node.js
-
Install Docker:
Docker Installation Guide -
Cloud Provider Account:
Create an account with AWS, GCP, or Azure and set up the CLI for your preferred cloud provider. -
CI/CD Tool:
- For GitHub Actions: Ensure your repository is connected to GitHub.
- For Jenkins: Install and configure Jenkins on your local machine or a server.
The repository includes a small web application created using Flask (Python).
To set up the application:
- Navigate to the
appdirectory:cd ci-cd-pipeline-project - Install dependencies directory:
npm install
- Run:
npm start
-
Build the Docker image:
docker build -t node-app . -
Run the container:
docker run -p 3000:3000 node-app
-
Access the application at http://localhost:3000