在 Linux 上运行 Jenkins 的完整步骤
一 准备环境
sudo apt update
sudo apt install -y openjdk-11-jdk
java -version
sudo yum install -y java-11-openjdk java-11-openjdk-devel
java -version
二 安装方式
# 导入密钥与源
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
sudo apt update
sudo apt install -y jenkins
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-2023.key
sudo yum install -y jenkins
sudo systemctl start jenkins
sudo systemctl enable jenkins
sudo systemctl status jenkins
# 下载后运行(当前目录有 jenkins.war)
java -jar jenkins.war
# 指定端口(避免冲突)
java -jar jenkins.war --httpPort=8095
如需后台常驻,可用 nohup 或配合 systemd 托管(见下文进阶)。三 初始化配置
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
如通过 WAR 指定了自定义目录,则到该目录下的 secrets/initialAdminPassword 读取。四 防火墙与端口
sudo firewall-cmd --add-port=8080/tcp --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --list-ports
sudo ufw allow 8080/tcp
sudo ufw enable
sudo ufw status
五 进阶与常见问题
java -jar jenkins.war --httpPort=9520
sudo tee /etc/systemd/system/jenkins.service >/dev/null <<'EOF'
[Unit]
Description=Jenkins
After=network.target
[Service]
Type=simple
User=jenkins
Environment="JENKINS_HOME=/data/jenkins/.jenkins"
Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64"
ExecStart=/usr/lib/jvm/java-11-openjdk-amd64/bin/java -Djava.awt.headless=true \
-jar /data/jenkins/jenkins.war --httpPort=9520
WorkingDirectory=/data/jenkins
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now jenkins
sudo journalctl -u jenkins -f