下载路径:
https://mirrors.jenkins.io/war-stable/

jenkins 对于jdk 有要求 2.4 开头的需要jdk17 ,2.582开头的需要jdk 21 。根据自己的需要选择,安装jdk 步骤请参考
https://blog.csdn.net/weixin_58026642/article/details/152775268?spm=1001.2014.3001.5501
要后台启动Jenkins,你可以使用Java的后台执行命令,这通常通过nohup命令或者使用系统服务管理器(如systemd或init.d)来实现。下面是一些常见的方法:
方法1:使用nohup命令
打开终端
切换到你的Jenkins安装目录(例如/opt/jenkins)
cd /opt/jenkins
使用nohup命令启动Jenkins
nohup java -jar jenkins.war --httpPort=8080 > jenkins.log 2>&1 &
这里,--httpPort=8080指定了Jenkins的HTTP端口,你可以根据需要修改。> jenkins.log 2>&1 &将输出重定向到jenkins.log文件,并让进程在后台运行。
sudo mkdir -p /usr/share/jenkins
sudo mv /root/jenkins.war /usr/share/jenkins/
创建 jenkins 用户组
sudo groupadd jenkins
创建 jenkins 用户,设置家目录,并禁止登录
sudo useradd -r -m -d /var/lib/jenkins -s /bin/false -g jenkins jenkins
参数说明:
-r:创建系统用户
-m:创建家目录
-d /var/lib/jenkins:指定家目录
-s /bin/false:禁止登录shell
-g jenkins:指定主组
sudo chown jenkins:jenkins /usr/share/jenkins/jenkins.war
sudo mkdir -p /var/run/jenkins
sudo chown jenkins:jenkins /var/run/jenkins
方法2:使用systemd服务
如果你使用的是Linux系统,可以通过创建一个systemd服务来管理Jenkins。
创建Jenkins服务文件
在/etc/systemd/system/目录下创建一个新的服务文件,例如jenkins.service:
sudo vim /etc/systemd/system/jenkins.service
Unit
Description=Jenkins Continuous Integration Server
After=network.target
Service
User=jenkins
修复1:将jenkins.war移到jenkins用户可访问的目录
或者改为使用/usr/share/jenkins/等标准位置 /usr/local/jdk-17/bin/java 要用绝对路径
ExecStart=/usr/local/jdk-17/bin/java -jar /usr/share/jenkins/jenkins.war --httpPort=8080
SuccessExitStatus=143
PIDFile=/var/run/jenkins/jenkins.pid # 修复2:PID文件目录需要存在且可写
添加类型和标准输出(可选但推荐)
Type=simple
StandardOutput=journal
StandardError=journal
Restart=on-failure
Environment="JENKINS_HOME=/var/lib/jenkins"
Environment="JAVA_ARGS=-Djenkins.install.runSetupWizard=false"
Install
WantedBy=multi-user.target
确保路径和用户根据你的系统设置进行调整。
sudo systemctl daemon-reload
sudo systemctl start jenkins
sudo systemctl status jenkins
测试环境:防火墙关闭
生产需要配置 防火墙规则,释放端口
安装过程中过给出一个 admin 的默认密码用于登录
登录完成会提示安装插件,选择非推荐的插件 少选几个 ,先让系统启动起来,安装插件是一个漫长的过程,等安装完成之后 修改一下 插件的路径为 国内的,下载速度会变快
# 华为镜像源
https://mirrors.huaweicloud.com/jenkins/updates/update-center.json
替换原有的
