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全栈技术分享
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
海报
Jetty部署Jenkins
在 Jenkins官网 下载最新的 jenkins.war 文件。将war包放到Jetty的webapps目录或自定义jetty.deploy.monitoredPath目录/data/www/jetty下。 部署Jenkins 修改……
<<上一篇
下一篇>>
文章目录
关闭
目 录