Jenkins
Installation
Prerequisites
# Update package manager
sudo apt update
# Install Java (Jenkins requires Java 11 or higher)
sudo apt install openjdk-11-jdk -y
# Verify Java installation
java -versionUbuntu/Debian
# Add Jenkins repository GPG key
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
# Add Jenkins repository
sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
# Update package manager
sudo apt update
# Install Jenkins
sudo apt install jenkins -y
# Start and enable Jenkins
sudo systemctl start jenkins
sudo systemctl enable jenkins
# Verify installation
sudo systemctl status jenkinsCentOS/RHEL
# Add Jenkins repository
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
# Add repository key
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
# Install Jenkins
sudo yum install jenkins -y
# Start and enable Jenkins
sudo systemctl start jenkins
sudo systemctl enable jenkinsDocker Installation
# Create Jenkins container
docker run -d --name jenkins \
-p 8080:8080 \
-p 50000:50000 \
-v jenkins_home:/var/jenkins_home \
jenkins/jenkins:latestInitial Setup
# Get initial admin password
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
# Access Jenkins at http://server-ip:8080Firewall Configuration
# UFW (Ubuntu)
sudo ufw allow 8080
sudo ufw allow 50000
# Firewalld (CentOS)
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --permanent --add-port=50000/tcp
sudo firewall-cmd --reloadService Management
# Start Jenkins
sudo systemctl start jenkins
# Stop Jenkins
sudo systemctl stop jenkins
# Restart Jenkins
sudo systemctl restart jenkins
# Check status
sudo systemctl status jenkins
# View logs
sudo tail -f /var/log/jenkins/jenkins.logConfiguration
Jenkins Home Directory
# Default Jenkins home
/var/lib/jenkins
# Change Jenkins port
sudo nano /etc/default/jenkins
# Edit: PORT=8080Backup Jenkins Configuration
# Backup Jenkins home directory
sudo tar -czf jenkins-backup.tar.gz /var/lib/jenkins
# Restore from backup
sudo tar -xzf jenkins-backup.tar.gz -C /
sudo systemctl restart jenkinsPlugin Management
Essential Plugins
- SSH Agent
- GitLab / GitHub plugin
- Pipeline (Declarative Pipeline)
- Email Extension Plugin
- Blue Ocean
- Slack NotificationInstall Plugin via CLI
# Install plugin
java -jar jenkins-cli.jar -s http://localhost:8080 install-plugin <plugin-name>
# Restart Jenkins
java -jar jenkins-cli.jar -s http://localhost:8080 restartGit Integration
GitLab / GitHub Webhook URL
http://username:api-token@jenkins-server:8080/project/job-nameSetup Credentials
- Manage Jenkins → Manage Credentials
- Add new credentials (SSH Key, Username/Password, API Token)
- Use in Jenkins pipeline/job
Uninstall
Ubuntu/Debian
# Stop Jenkins
sudo systemctl stop jenkins
# Remove Jenkins
sudo apt remove jenkins -y
sudo apt autoremove -y
# Remove Jenkins data
sudo rm -rf /var/lib/jenkins
sudo rm -rf /var/log/jenkinsCentOS/RHEL
# Stop Jenkins
sudo systemctl stop jenkins
# Remove Jenkins
sudo yum remove jenkins -y
# Remove Jenkins data
sudo rm -rf /var/lib/jenkins
sudo rm -rf /var/log/jenkins