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 Spring Boot中HandlerInterceptor和Filter区别及使用
Spring Boot中HandlerInterceptor和Filter区别及使用
2
OpenCart添加第三方及自定义Library库
OpenCart添加第三方及自定义Library库
3
Spring Boot内置定时任务
Spring Boot内置定时任务
4
Vue全局Filter体验
Vue全局Filter体验
5
React Native学习之仿异步获取网络数据
React Native学习之仿异步获取网络数据
最新评论
一位WordPress评论者
一位WordPress评论者
2月12日
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。