Linux 部署 Jenkins 实操指南
一 环境准备
sudo apt update
sudo apt install openjdk-11-jdk -y
sudo yum install java-11-openjdk-devel -y # CentOS/RHEL
# 或
sudo dnf install java-11-openjdk-devel -y # Fedora
java -version,输出应显示 1.8 或 11。二 安装方式
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt update
sudo apt install jenkins -y
sudo systemctl start jenkins
sudo systemctl enable jenkins
sudo systemctl status jenkins
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
sudo yum install jenkins -y # 或 dnf install jenkins -y
sudo systemctl daemon-reload
sudo systemctl start jenkins
sudo systemctl enable jenkins
sudo systemctl status jenkins
mkdir -p /opt/jenkins && cd /opt/jenkins
echo 'JENKINS_HOME=/opt/jenkins' | sudo tee -a /etc/profile
source /etc/profile
wget https://get.jenkins.io/war-stable/latest/jenkins.war
nohup java -Xmx2g -jar jenkins.war --httpPort=8080 > logs/jenkins.log 2>&1 &
tail -f logs/jenkins.log
三 访问与安全配置
sudo ufw allow 8080/tcp
sudo ufw enable
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload
sudo cat /var/lib/jenkins/secrets/initialAdminPasswordcat $JENKINS_HOME/secrets/initialAdminPassword四 反向代理与域名访问(可选)
sudo apt install nginx -y # 或 yum/dnf 安装
编辑站点配置(如 /etc/nginx/sites-available/default):server {
listen 80;
server_name jenkins.example.com;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
启用站点并重启:sudo ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
五 常用目录与维护要点
sudo systemctl restart jenkins
sudo systemctl stop jenkins
sudo systemctl status jenkins
sudo apt upgrade jenkins 或 sudo yum/dnf update jenkins