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>
上一篇 IntelliJ IDEA快速生成单元测试类
下一篇 CentOS下部署Jenkins
目录
文章列表
1 Vue 中微信支付,显示WeiXinJSBridge is not defined的问题
Vue 中微信支付,显示WeiXinJSBridge is not defined的问题
2
Spring Boot集成RocketMQ详解
Spring Boot集成RocketMQ详解
3
微信小程序自带的referer(附:微信,头条,支付宝,百度小程序的自带referer)
微信小程序自带的referer(附:微信,头条,支付宝,百度小程序的自带referer)
4
Flutter禁用滚动事件
Flutter禁用滚动事件
5
Jenkins安装报错:该Jenkins实例似乎已离线
Jenkins安装报错:该Jenkins实例似乎已离线
最新评论
一位WordPress评论者
一位WordPress评论者
2月12日
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。