hudson的插件deploy plugin配置信息,见图:
在自动部署时,发生了如下错误,刚开始一直以为是war包路径错误,原来是tomcat用户(admin)的权限不足。
Caused by: org.codehaus.cargo.container.tomcat.internal.TomcatManagerException: The username you provided is not allowed to use the text-based Tomcat Manager (error 403) at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:518) at org.codehaus.cargo.container.tomcat.internal.TomcatManager.list(TomcatManager.java:644) at org.codehaus.cargo.container.tomcat.internal.TomcatManager.getStatus(TomcatManager.java:657) at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:172) ... 16 more Caused by: java.io.IOException: Server returned HTTP response code: 403 for URL: http://localhost:8080//manager/list at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1436) at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:507) ... 19 more
tomcat用户admin的权限配置:
<role rolename="manager"/> <role rolename="tomcat"/> <role rolename="admin"/> <user username="admin" password="admin" roles="manager,tomcat,admin"/> <user username="tomcat" password="tomcat" roles="manager,tomcat,admin"/>
解决了上面发生的错误,成功部署后的信息:
Deploying C:\Documents and Settings\Administrator\.hudson\jobs\workflow\workspace\workflow\target\workflow.war to container Tomcat 6.x Remote The property cargo.tomcat.manager.url has been deprecated, please use cargo.remote.uri instead. [C:\Documents and Settings\Administrator\.hudson\jobs\workflow\workspace\workflow\target\workflow.war] is not deployed. Doing a fresh deployment. Deploying [C:\Documents and Settings\Administrator\.hudson\jobs\workflow\workspace\workflow\target\workflow.war] [DEBUG] Skipping watched dependency update; build not configured with trigger: workflow #22 Finished: SUCCESS