Jetty的作用
Jetty项目于1995年启动,从那时起与许多名称和品牌相关联。
Jetty Web Server提供了HTTP服务器和Servlet容器。可以从独立的或嵌入式的实例中提取静态和动态内容。
从Jetty-7版本开始,Jetty Web服务器和其他核心组件由Eclipse Foundation托管。该项目提供:
1、异步HTTP服务器
2、基于标准的Servlet容器
3、websocket 服务器
4、http/2 服务器
5、异步客户端(http/ 1.1 , http/ 2 , websocket)
6、OSGI , JNDI ,JMX ,JASPI , AJP支持
总之: Jetty可作为一个小型的 快速的可嵌入的Web服务器和Servlet容器。(我觉得Jetty具有tomcat一样的作用,都可以当 服务器或者说servet容器)
Jetty是一个提供HTTP服务器,HTTP客户端和javax.servlet容器的开源项目。
Maven坐标: Jetty项目的顶级项目对象模型(POM)位于以下坐标。
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-project</artifactId>
<version>${project.version}</version> <!-- 这里只需要写上jetty的版本号即可 -->
</dependency>
Maven Central 中的更改日志:Jetty版本之间的更改将在名为VERSIONS.txt的文件中进行跟踪,该文件受源代码控制,并在发布时生成。在发布顶级POM时,这些生成的文件也被上传到Maven Central。您可以将它们作为分类器标记的人工制品
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-project</artifactId>
<version>${project.version}</version>
<classifier>version</classifier>
<type>txt</type>
</dependency>
最后说说的两个属性(Jetty的默认配置就是基于这两个属性):
jetty.home
该属性定义了jetty分发的位置,其libs、默认模块和默认的XML文件(通常是start.jar 、lib等)
jetty.base
该属性定义了jetty服务器,其配置、日志和web应用程序(通常为start.d/*.ini文件、日志和webapps)的特定实现位置的属性。
注意: jetty.home应该被视为真理的标准,并保持未修改或更改。你的配置的更改或添加应在Jetty base目录中进行。
部署web应用程序到Jetty服务器(jetty容器):
这个 跟tomcat的使用差不多,将maven项目打包成war包 部署到jetty中demo-base / webapps目录上,自动解析出来。不知道对不对?------------------这还不知道可行不
区别: tomcat上部署项目和有了jenkins以后的项目的发布流程,即 传统发布流程 VS 持续集成
1)、传统的项目发布流程: 缺点是速度慢并且容易出错
1、本地把项目打成War包
2、通过FTP等工具,传输到服务器上(或linux上的任意目录上或windows上的任意盘的目录上)
3、关闭tomcat,将打包的项目放到 tomcat服务器下的 webapps目录上(linux和windows都是一样的)
4、启动tomcat, XXX.war包自动在webapps目录上自动解析出 XXX项目了。
5、在浏览器上输入ip名(localhost或者具体的linux ip地址192.168.1.22) +端口号:默认8080+项目名XXX
2)、有了Jenkins工具以后的发布流程:
1、用户在jenkins上点击某个按钮进行发布
2、jenkins收到发布命令
3、jenkins从SVN上把源代码 download下来
4、jenkins根据你设置的mvn 命令进行打包
5、jenkins把你打包好的 war工程包传输到tomcat或者jetty服务器的webapps目录下
6、tomcat启动
对于程序员而言,只需要做两件事:
1、在jenkins上配置某个项目的部署流程
2、在jenkins上点击某个项目的部署按钮,进行一键部署。
Jenkins的介绍:
Jenkins是一个用纯java编写的开源的持续集成的工具。Jenkins提供了 软件开发的持续集成服务。它运行在Servlet容器中(例如apache tomcat,Jetty等容器)。它支持软件配置管理(SCM)工具(包括Subversion{SVN}、git等),可以执行基于Apache Ant和Apache Maven的项目以及任意的shell脚本和Windows批处理命令。Jenkins的主要开发者是川口耕介。Jenkins是在MIT许可证下发布的 自由软件。
插件: Jenkins的扩展插件已经发布,能使非java语言编写的项目也使用Jenkins。对于大多数的版本控制系统和大的数据库,有与Jenkins集成的插件可用。许多构建(build)工具都是通过他们各自的插件提供支持。插件还可以改变Jenkins的外观,或者添加新的功能。 构建时可以生成各种格式的测试报告(JUnit是被内建支持的,别的格式则需通过插件)。Jenkins可以显示报表,生成趋势图,并在图形化界面中呈现它们。
我的jenkins部署方法: 在linux上同理,需要jdk、tomcat和jenkins这几样
1、下载jenkins包(zig形式的包)并解压(别人说将从官网下载的 jenkins.war直接当做web项目包 放在tomcat服务器上的 webapps目录上,然后启动tomcat即可,然后输入localhost:8080/jenkins便进入jenkins页面了)
2、启动tomcat容器,在tomcat下的bin目录下 点击startup.sh
3、输入 localhost:8080,然后在当前页面进行用户名和密码的登陆设置以及jenkins管理员的设置。
第一次登陆jenkins需要用到 jenkins工具下 file:///F:/jenkins/secrets/initialAdminPassword中的初始密码:
23341cd8c0174d9e95a485639d479c67 这个密码好像是不可更改的。 就是这样部署的。
jenkins的优势:
Jenkins是一个获奖的跨平台、持续的集成和连续交互应用程序,可以提高你的生产力。 使用jenkins来建立和测试你的软件项目
,是开发人员更轻松地将更改集成到项目中 ,并使用户更容易获得新的构建。它还允许你通过提供强大的方法来定义
构建管道并与大量测试和部署技术集成,从而持续提供软件。
1、安装简单: 只需要将jenkins.war部署到 servler容器中(比如tomcat、jetty等)
2、易于配置
3、丰富的插件生态系统
4、可扩展性
5、分布式构建: Jenkins可以将构建/测试负载分配到具有不同操作系统的多台计算机。osx、linux和windows构建软禁都没有问题。