Jetty部署Jenkins
在 Jenkins官网 下载最新的 jenkins.war 文件。将war包放到Jetty的webapps目录或自定义jetty.deploy.monitoredPath目录/data/www/jetty下。
部署Jenkins
修改 jetty.xml 添加 JENKINS_HOME 为Jenkins主目录。
# cd /data/www/jetty/
# wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war
# vim /usr/local/jetty/etc/jetty.xml
添加下面配置
<Call class="java.lang.System" name="setProperty">
<Arg>JENKINS_HOME</Arg>
<Arg>/data/Jetty/Jenkins</Arg>
</Call>
然后重新启动 Jetty
# cd $JETTY_HOME
# java -jar start.jar
访问:http://xxx.xxx.xxx.xxx:8086/jenkins/
常见问题
若打开浏览器访问 jenkins 时如果出现 HTTP ERROR 503 错误,如下:
HTTP ERROR: 503
Problem accessing /jenkins/. Reason:
Service Unavailable
------------
Powered by Jetty
或Jetty控制台报错:
java.lang.IllegalStateException: No LoginService for org.eclipse.jetty.security.authentication.FormAuthenticator@7c9d8e2 in org.eclipse.jetty.security.ConstraintSecurityHandler@20d525
经查这是因为 Jetty 8.1.0之后对安全性有了一些要求,需要显示注明安全域(security realm)。需要在 webapps 目录下添加 jenkins.xml 文件 并添加如下配置
# vim /data/www/jetty/jenkins.xml
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
<Set name="contextPath">/jenkins</Set>
<Set name="war">/data/www/jetty/jenkins.war</Set>
<Get name="securityHandler">
<Set name="loginService">
<New class="org.eclipse.jetty.security.HashLoginService">
<Set name="name">Jenkins Realm</Set>
<Set name="config"><SystemProperty name="jetty.home" default="."/>/etc/realm.properties</Set>
</New>
</Set>
</Get>
</Configure>
版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/03/01/jetty-deploy-jenkins/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论