This project utilizes a CI/CD pipeline to automate the deployment of my personal portfolio. It integrates various tools and services, including GitHub, Jenkins, Ansible, Docker, AWS EC2, and AWS Route53.
Icons by icons8
The following components make up the pipeline:
- GitHub: Hosts the source code and utilizes webhooks to trigger the pipeline on a push event.
- Jenkins: Orchestrates the pipeline, running jobs to build, test, and deploy the application.
- Ansible: Configures the necessary environments and dependencies.
- Docker: Packages the application into a container for consistent deployment.
- AWS EC2: Hosts the running containers in a scalable and reliable cloud environment.
- AWS Route53: Manages DNS for the portfolio, routing traffic to the appropriate instance.
- Code Push: Developers push code to the GitHub repository.
- Webhooks: GitHub webhooks automatically notify Jenkins to start a new build.
- Build and Test: Jenkins retrieves the latest code and executes defined jobs to build and test the application.
- Containerization: If tests pass, Jenkins uses Ansible to build a Docker container.
- Deployment: The Docker container is deployed to AWS EC2 instance.
- Routing Traffic: AWS Route53 routes incoming traffic to the docker instance.
This project is licensed under the MIT License.