Jenkins是基于Java开发的自动化工具,需先安装JDK 11及以上版本(推荐JDK 17)。以Ubuntu/Debian为例,执行以下命令安装OpenJDK 17:
sudo apt update && sudo apt install -y openjdk-17-jdk
验证安装:
java -version # 应输出Java 17版本信息
对于CentOS/RHEL,使用yum
安装:
sudo yum install -y java-17-openjdk-devel
以Ubuntu/Debian为例,执行以下命令添加Jenkins的GPG密钥和软件源:
curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key | sudo tee /usr/share/keyrings/jenkins-keyring.asc > /dev/null
echo "deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian-stable binary/" | sudo tee /etc/apt/sources.list.d/jenkins.list > /dev/null
对于CentOS/RHEL,使用以下命令:
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins-ci.org.key
更新软件源并安装Jenkins:
# Ubuntu/Debian
sudo apt update && sudo apt install -y jenkins
# CentOS/RHEL
sudo yum install -y jenkins
安装完成后,通过systemctl
命令管理服务:
sudo systemctl start jenkins # 启动Jenkins
sudo systemctl enable jenkins # 设置开机自启
sudo systemctl status jenkins # 查看运行状态(应显示“active (running)”)
首次访问需输入管理员密码,通过以下命令获取:
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
复制输出的密码,在浏览器访问http://<服务器IP>:8080
时输入。
选择“Install suggested plugins”(安装推荐插件),包含Git、Maven、Pipeline等常用插件,避免手动逐一搜索安装。
设置用户名、密码和邮箱,完成初始配置后进入Jenkins主界面。
Jenkins插件默认从updates.jenkins.io
下载,速度较慢。进入“Manage Jenkins > Plugin Manager > Advanced”,将“Update Site”修改为国内镜像(如清华镜像):
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
或直接修改Jenkins配置文件(/etc/sysconfig/jenkins
或/etc/default/jenkins
),添加以下内容:
JENKINS_UC=https://mirrors.tuna.tsinghua.edu.cn/jenkins
JENKINS_UC_EXPERIMENTAL=https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/experimental
修改后重启Jenkins:
sudo systemctl restart jenkins
若Jenkins频繁报“内存不足”,需调整JVM堆内存大小。编辑/etc/default/jenkins
(Ubuntu/Debian)或/etc/sysconfig/jenkins
(CentOS/RHEL),添加以下内容:
JAVA_OPTS="-Xmx2048m -Xms1024m" # 分配2GB最大内存、1GB初始内存
重启Jenkins使配置生效。
允许Jenkins端口(默认8080)通过防火墙:
# Ubuntu/Debian(ufw)
sudo ufw allow 8080/tcp
sudo ufw enable
# CentOS/RHEL(firewalld)
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload
通过Nginx反向代理配置HTTPS(需提前申请SSL证书):
# 安装Nginx
sudo apt install -y nginx # Ubuntu/Debian
sudo yum install -y nginx # CentOS/RHEL
# 配置Nginx反向代理(编辑/etc/nginx/sites-available/jenkins)
server {
listen 443 ssl;
server_name your_domain.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
# 启用配置并重启Nginx
sudo ln -s /etc/nginx/sites-available/jenkins /etc/nginx/sites-enabled/
sudo nginx -t # 测试配置
sudo systemctl restart nginx
然后修改Jenkins端口为8081(或其他非80端口),避免冲突。
sudo systemctl restart jenkins
sudo journalctl -u jenkins -f # 实时查看systemd日志
# 或
tail -f /var/log/jenkins/jenkins.log # 查看Jenkins自身日志
# Ubuntu/Debian
sudo apt remove --purge jenkins && sudo rm -rf /var/lib/jenkins /etc/jenkins
# CentOS/RHEL
sudo yum remove -y jenkins && sudo rm -rf /var/lib/jenkins /etc/jenkins
通过以上步骤,可在Linux系统上高效安装并配置Jenkins,满足持续集成/持续交付(CI/CD)的基本需求。后续可根据项目需要扩展Docker、Kubernetes等集成功能。