问题描述
该笔记将记录:在 Tomcat 中,运行 Jenkins 服务,而不是运行独立的 Jenkins 服务。
解决方案
补充说明:
1)该笔记属于实验进行,在实际的生产中,我们并未在 Tomcat 中部署 Jenkins 服务;
第一步、安装 Tomcat 服务
我们直接从发行办的仓库中安装:
# 安装服务(Kali) apt-get install tomcat9 # 启动服务,并开机启动 systemctl enable tomcat9
发行版不同,安装方法不同,细节不再赘述。
第二步、安装 Jenkins 服务
wget -P /var/lib/tomcat9/webapps/ http://mirrors.jenkins.io/war-stable/latest/jenkins.war
然后最自动生成 jenkins 目录。
第三步、修改配置文件
为什么需要进行该步骤?
1)进行该步骤配置是因为发行版自带的 Tomcat 进行安全配置,执行命令 systemctl cat tomcat9.service 了解配置。
2)阅读 systemd.exec(5) 手册,了解 PrivateTmp= ReadWritePaths= 参数。
设置 JENKINS_HOME 变量
修改 /etc/tomcat9/context.xml 配置:
<Context> ... <Environment name="JENKINS_HOME" value="/var/lib/jenkins/" type="java.lang.String"/> ... </Context>
创建 JENKINS_HOME 目录
mkdir -pv /var/lib/jenkins/ chown -R tomcat: /var/lib/jenkins/
调整 tomcat9.service 配置
# systemctl edit tomcat9.service [Service] ReadWritePaths=/var/lib/jenkins/
第四步、启动 Tomcat 服务
systemcat start tomcat9
最后启动浏览器访问,http://<ip address>/jenkins/,按照提示进行初始化即可。
参考文献
Jenkins/Installing Jenkins
How to Install Jenkins on the Apache Tomcat Server
How to set Jenkins_Home hosted on apache tomcat