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的下载地址(
)
修改 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 运行起来,通过访问
验证是否配置正确
1,让填写用户名和密码
2,验证用户名和密码验证成功后会显示 Command / is unknown
说明远程部署到jetty上成功了。