怎麼將jenkins打包後的war自動部署到jetty上?

1,使用maven的cargo插件,實現遠程部署

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

Maven中添加配置文件:git

Type: 可選參數有remote(遠程部署的模式)還有:standalone,existing兩種模式,能夠參閱(github

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

eclipse

Cargo.hostname: 表示要遠程的地址maven

Cargo.Servlet.port: 表示要遠程的端口號.net

Ps: 經過遠程實現自動化部署的時候必須在jetty中設置相應的權限插件

Cargo.remote.username: 爲具備該權限的用戶名代理

Cargo.remote.password: 相應的密碼code

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上成功了。

相關文章
相關標籤/搜索