This project demonstrates a complete CI/CD pipeline implemented on a local machine using Jenkins to automate deployment of a static website to an Apache web server.
The pipeline pulls code from a GitHub repository and deploys the website to Apache’s document root directory, making it accessible via a browser.
- Jenkins (CI/CD Automation)
- Apache HTTP Server
- Git & GitHub
- Linux (SLES / Local System)
sudo zypper install apache2 -y
sudo systemctl start apache2
sudo systemctl enable apache2Verification:
http://localhost
Git is required for Jenkins to pull code from GitHub.
sudo zypper install git -yVerify:
git --versionsudo zypper install jenkins -y
sudo systemctl start jenkins
sudo systemctl enable jenkinsAccess Jenkins:
http://localhost:8080
Initial Setup:
- Enter admin password
- Install suggested plugins
- Go to Manage Jenkins → Credentials
- Add SSH / Git credentials
- Use credentials in pipeline
ssh-keygen -t rsa
ssh-copy-id root@localhostTest:
ssh root@localhost- Go to Manage Jenkins → Nodes
- Click New Node
- Configure node details
- Connect node to Jenkins master
- Click New Item
- Select Pipeline
- Configure job
- Add repository URL
- Select branch (main/master)
- Configure webhook for auto trigger
- Select Pipeline script from SCM
- SCM: Git
- Script Path:
Jenkinsfile
- git add .
- git commit -m "Initial commit"
- git push -u origin main
- auto Build Now
- Check logs for success
Files deployed to:
/var/www/html/
http://localhost
Website is live
- Code pushed to GitHub
- Webhook triggers Jenkins
- Jenkins pulls code
- Pipeline executes
- Deployment to Apache
- Website goes live
- CI/CD pipeline successfully implemented
- Automated deployment achieved
- Website deployed on Apache
- Local environment setup
- Can extend to AWS / Production













