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

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

(官网描述地址:https://codehaus-cargo.github.io/cargo/Jetty+Remote+Deployer.html)

Maven中添加配置文件:

Type: 可选参数有remote(远程部署的模式)还有:standalone,existing两种模式,可以参阅(

http://blog.csdn.net/steveguoshao/article/details/38469713

Cargo.hostname: 表示要远程的地址

Cargo.Servlet.port: 表示要远程的端口号

Ps: 通过远程实现自动化部署的时候必须在jetty中设置相应的权限

Cargo.remote.username: 为具有该权限的用户名

Cargo.remote.password: 相应的密码

2,下载远程部署的代理的war包

Ps:因为jetty并没有远程部署的功能,所以我们需要一个东西可以接收我们项目的war包,所以就出现了这个代理的角色,其实它也是个标准的webApp。

支持jetty7及以上版本的war的下载地址(

http://repo1.maven.org/maven2/org/codehaus/cargo/cargo-jetty-7-and-onwards-deployer/1.4.18/cargo-jetty-7-and-onwards-deployer-1.4.18.war   )

修改 war 包中 WEB-INF 中web.xml 文件 将注释放开:结果为:

3,为jetty 添加访问权限

(官网介绍的地址:

http://www.eclipse.org/jetty/documentation/current/configuring-security-authentication.html#security-realms

3.1:在 jetty9.2/etc/jetty.xml 文件中添加如下配置

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-deployer/

验证是否配置正确

1,让填写用户名和密码

2,验证用户名和密码验证成功后会显示  Command / is unknown

说明远程部署到jetty上成功了。

posted @ 2016-04-07 12:14  道行思  阅读(1458)  评论(0)    收藏  举报