Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/babaqif/jenkins-cicd-pipeline-of-unipod-s-booking-system
This repository contains the Jenkins pipeline configuration for automating the CI/CD process for the Unipod Booking System. The project was originally developed as part of a school project to test out and implement a robust CI/CD pipeline using Jenkins.
https://github.com/babaqif/jenkins-cicd-pipeline-of-unipod-s-booking-system
cicd java jenkins junit maven version-control
Last synced: about 1 month ago
JSON representation
This repository contains the Jenkins pipeline configuration for automating the CI/CD process for the Unipod Booking System. The project was originally developed as part of a school project to test out and implement a robust CI/CD pipeline using Jenkins.
- Host: GitHub
- URL: https://github.com/babaqif/jenkins-cicd-pipeline-of-unipod-s-booking-system
- Owner: babaqif
- Created: 2024-08-23T06:54:20.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-11-18T08:31:25.000Z (about 1 month ago)
- Last Synced: 2024-11-26T05:06:53.459Z (about 1 month ago)
- Topics: cicd, java, jenkins, junit, maven, version-control
- Language: Groovy
- Homepage:
- Size: 20.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Jenkins CI/CD Pipeline Of Java Unipod Booking System
This repository demonstrates a **CI/CD pipeline** using **Jenkins** to automate the build and test process for the **Unipod Booking System**. The original project was used for testing out the integration of **Jenkins** with **GitHub** and **Maven**, specifically as a **lab rat repo** for learning and experimenting with CI/CD processes.
> **Note:** The **Unipod Booking System repository** is private, and this project serves as a demonstration of the **Jenkins pipeline configuration** that was used to automate its build, test, and deploy processes.
## Key Features:
- **Source Code Management (SCM):** The pipeline pulls code from the private GitHub repository (not included here).
- **Automated Builds:** Maven is used to clean and package the Java-based application into a JAR file.
- **Test Execution:** JUnit test results are automatically generated and published as part of the build process.
- **Build Artifacts:** The built JAR files are archived after each successful build.
- **Failure Notifications:** If the build fails, an email notification is sent to alert the team.## Jenkins Pipeline Configuration
The repository contains a **Jenkinsfile** with the following pipeline steps:
1. **Code Checkout:** Pulls the latest code from the GitHub repository.
2. **Maven Build:** Executes `mvn clean package` to build the application.
3. **JUnit Test Reporting:** Publishes test results from the `target/surefire-reports` directory.
4. **Artifact Archiving:** Archives the JAR files produced by the Maven build.
5. **Email Notification:** Sends an email to notify about build failures.## How to Use This Repository
This project is designed to showcase how you can set up a Jenkins pipeline for automating the build, test, and deploy process. If you'd like to access the full documentation or have questions, please feel free to reach out to me at **[[email protected]](mailto:[email protected])**.
### Steps to Set Up Your Own Pipeline:
1. **Fork this repository** to your GitHub account.
2. **Create a Jenkins pipeline job** and point it to your forked repository.
3. Set up **Maven 3.9.9** on your Jenkins instance and configure the environment.
4. Run the pipeline to automate your build, test, and deployment process.## Prerequisites
- **Jenkins:** Set up Jenkins with necessary plugins (Git, Maven Integration, Email Extension).
- **Maven 3.9.9**: Configure Maven on Jenkins.
- **GitHub Repository:** Ensure the GitHub repository contains the source code for your application (private repository).## Contact
For detailed documentation, issues, or questions, please reach out to me at **[[email protected]](mailto:[email protected])**.
---
### License
This project is open-source