怎么将jenkins打包后的war自动部署到jetty上?

  1. 使用maven的cargo插件,实现远程部署

(官网描述地址:https://codehaus-cargo.github.io/cargo/J...
Maven中添加配置文件:
怎么将jenkins打包后的war自动部署到jetty上?_第1张图片

Type: 可选参数有remote(远程部署的模式)还有:standalone,existing两种模式,可以参阅(
http://blog.csdn.net/steveguoshao/articl...

Cargo.hostname: 表示要远程的地址
Cargo.Servlet.port: 表示要远程的端口号
Ps: 通过远程实现自动化部署的时候必须在jetty中设置相应的权限
Cargo.remote.username: 为具有该权限的用户名
Cargo.remote.password: 相应的密码

  1. 下载远程部署的代理的war包

Ps:因为jetty并没有远程部署的功能,所以我们需要一个东西可以接收我们项目的war包,所以就出现了这个代理的角色,其实它也是个标准的webApp。
怎么将jenkins打包后的war自动部署到jetty上?_第2张图片

支持jetty7及以上版本的war的下载地址(
http://repo1.maven.org/maven2/org/codeha...
修改 war 包中 WEB-INF 中web.xml 文件 将注释放开:结果为:
怎么将jenkins打包后的war自动部署到jetty上?_第3张图片

怎么将jenkins打包后的war自动部署到jetty上?_第4张图片

  1. 为jetty 添加访问权限

(官网介绍的地址:
http://www.eclipse.org/jetty/documentati...

3.1:在 jetty9.2/etc/jetty.xml 文件中添加如下配置:
怎么将jenkins打包后的war自动部署到jetty上?_第5张图片

3.2: 在jetty9.2/etc 中创建 realm.properties 文件,文件内容为

userName: password,manager
userName: 为步骤一的cargo.remote.username 中的值
Password:为步骤一的cargo.remote.password 中的值
Manager: 为当前角色所拥有的权限(要和步骤二中的role-name 的值一致


至此:整个过程就算完成了,将jetty 运行起来,通过访问
http://127.0.0.1:8080/cargo-jetty-deploy...
验证是否配置正确
1,让填写用户名和密码
2,验证用户名和密码验证成功后会显示 Command / is unknown
说明远程部署到jetty上成功了。

你可能感兴趣的:(jenkins,jetty)