Skip to content

NuelUzoma/Portfolio-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Automated CI/CD Pipeline for Web Applications Using Jenkins and GitHub

This is my Portfolio Project for the Foundations Year at ALX Africa and Holberton School. It is an Automated CI/CD Pipeline for Web Applications, using technologies like Jenkins and GitHub, and also getting deployed in Docker.

Screenshot from 2023-06-07 15-24-26

Screenshot from 2023-06-15 03-52-47

Method of Installation

This is a CI/CD Pipeline for Web Application Using Jenkins, GitHub and Docker.

  • Install Jenkins: Jenkins must be installed with a Java Development Kit (JDK) for proper functionality. Steps for successful installation of both can be found at https://www.jenkins.io/doc/book/installing/linux/, for Linux environments. The port 8080 must be allowed if a firewall is set up on your server.
  • Install Docker: Docker can also be installed by visiting https://docs.docker.com/engine/install/ubuntu/ for an Ubuntu environment and following all the steps given.
  • GitHub: No prior installation is needed for GitHub. Login into your GitHub and create a new repository needed for the project.

Usage

This project defines with three main technologies namely Jenkins, GitHub and Docker. Jenkins makes use of Webhooks provided by GitHub to integrate with it. Webhooks serves as a trigger between Jenkins and GitHub. Once code changes as been pushed to GitHub, it triggeers Jenkins automatically through Webhooks. It serves as a pipeline, automated for Build, Test and Deploy purposes with Docker. Jenkins server was installed on my web-01 server for public internet for usage for webhooks and Docker server was installed on my web-02 server for easier integration with Jenkins for Test and Deploy purposes with containers. To deploy with Docker, certain build steps and configurations as to be met with Jenkins.

Contribution

For contributions, send a mail to emmanuelmadubuike.dev@gmail.com to obtain the credentials for Jenkins before opening a pull request in order to access the Jenkins server for the project.

Related Projects

This is the first project I have worked on concerning this field. There are currently no related projects to this project. I look forward to the future if related projects are going to come out on this.

Licensing

MIT License has been created for this project.

About

Automated CI/CD Pipeline for Web Applications using Jenkins and GitHub

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published