Jetty 简单安装和部署 jenkins

简介: Jetty 简单安装和部署 jenkins

Jetty 提供了一个 web 服务器和 servlet 容器,另外还提供了对 HTTP/2、 WebSocket、 OSGi、 JMX、 JNDI、 JAAS 和许多其他集成的支持。这些组件是开放源码的,可以免费用于商业用途和分发。


在开发和生产中,Jetty 被广泛应用于各种项目和产品中。Jetty 长期以来深受开发人员的喜爱,因为它可以轻松地嵌入到设备、工具、框架、应用服务器和现代云服务中。


下载地址 https://www.eclipse.org/jetty/download.html


参考文档 Jetty : The Definitive Reference (eclipse.org)


启动和关闭服务脚本

service jetty start
service jetty stop


在 Jetty 中部署 Jenkins


  1. Jenkins 2.332.3 由于是搭配 jetty 9.4。所有这里先行安装 jetty 9.4。

[/opt/jetty]# tar -zxf /home/user/downloads/jetty-distribution-{VERSION}.tar.gz
[/opt/jetty]# cd jetty-distribution-{VERSION}/
[/opt/jetty/jetty-distribution-{VERSION}]# ls
bin        lib                         modules      resources  start.jar
demo-base  license-eplv10-aslv20.html  notice.html  start.d    VERSION.txt
etc        logs                        README.TXT   start.ini  webapps
[/opt/jetty/jetty-distribution-{VERSION}]# cp bin/jetty.sh /etc/init.d/jetty
[/opt/jetty/jetty-distribution-{VERSION}]# echo JETTY_HOME=`pwd` > /etc/default/jetty
[/opt/jetty/jetty-distribution-{VERSION}]# cat /etc/default/jetty
JETTY_HOME=/opt/jetty/jetty-distribution-{VERSION}
[/opt/jetty/jetty-distribution-{VERSION}]# service jetty start
Starting Jetty: OK Wed Nov 20 10:26:53 MST 2013


  1. 【可选】然后根据需要,例如 etc/jetty-http.xml 中可以把默认的 8080 端口给改成 9001。

<Set name="port"><Property name="jetty.http.port" deprecated="jetty.port" default="9001" /></Set>


  1. 拖入下载的 jenkins.war 到 webapps 目录中


  1. 由于 Jetty 8.1.0 之后对安全性有了一些要求,需要显示注明安全域(security realm)。


解决方法:编辑/新建 webapps/jenkins.xml 文件,添加如下配置。

<Configure class="org.eclipse.jetty.webapp.WebAppContext">
    <Set name="contextPath">/jenkins</Set>
    <Set name="war"><SystemProperty name="jetty.home" default="."/>/webapps/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="."/>/demo-base/etc/realm.properties</Set>
            </New>
        </Set>
    </Get>
</Configure>


  1. 这时已经可以正常访问了 http://部署机器IP:8081/jenkins/


遇到过的问题


问题:jetty 隔几天凌晨定时出现 404 错误(linux /tmp/)


解决方案:在 $(jetty.home) 下创建一个 work 目录。


参考


Jetty 的工作原理以及与 Tomcat 的比较 - 小写K - 博客园 (cnblogs.com)



目录
相关文章
|
2月前
|
jenkins Java 持续交付
Jenkins打包,发布,部署
Jenkins打包,发布,部署
221 0
|
2月前
|
Ubuntu jenkins 持续交付
Ubuntu系统 用docker安装jenkins
Ubuntu系统 用docker安装jenkins
|
4月前
|
Kubernetes jenkins 持续交付
jenkins学习笔记之二十一:k8s部署jenkins及动态slave
jenkins学习笔记之二十一:k8s部署jenkins及动态slave
|
4月前
|
负载均衡 jenkins 应用服务中间件
大规模部署下的 Jenkins 高可用性与负载均衡
【8月更文第31天】随着软件开发流程的加速,持续集成/持续交付(CI/CD)工具的重要性日益凸显。Jenkins 作为最受欢迎的 CI/CD 平台之一,为企业提供了强大的自动化构建和部署功能。然而,在大规模部署场景下,单一的 Jenkins 实例可能无法满足高可用性和性能的需求。本文将探讨如何设计和实施 Jenkins 高可用集群,以支持大型组织的需求,并通过负载均衡技术来提高系统的稳定性和响应速度。
285 0
|
4月前
|
jenkins Java 持续交付
jenkins学习笔记之十九:Docker安装jenkins master及动、静态配置slave
jenkins学习笔记之十九:Docker安装jenkins master及动、静态配置slave
|
4月前
|
jenkins Java 关系型数据库
jenkins学习笔记之十二:sonarqube9.9、SonarScanner4.8部署
jenkins学习笔记之十二:sonarqube9.9、SonarScanner4.8部署
|
4月前
|
jenkins 持续交付 网络安全
Windows 2016 安装 Jenkins
Windows 2016 安装 Jenkins
20 0
|
4月前
|
jenkins 持续交付 开发工具
Jenkins 手动安装插件
Jenkins 手动安装插件
81 0
|
Web App开发 Java Maven
|
缓存 分布式计算 API
Spark Netty与Jetty (源码阅读十一)
  spark呢,对Netty API又做了一层封装,那么Netty是什么呢~是个鬼。它基于NIO的服务端客户端框架,具体不再说了,下面开始。   创建了一个线程工厂,生成的线程都给定一个前缀名。      像一般的netty框架一样,创建Netty的EventLoopGroup:      在常用...
1095 0