我正在尝试使用shell命令将WAR从Jenkins部署到tomcat6.0.39服务器,但无法部署并引发Authorization错误:
401未经授权 您无权查看此页面。如果尚未更改任何配置文件,请在安装中检查文件conf / tomcat- users.xml。该文件必须包含凭据,才能使用此Web应用程序。
401未经授权
您无权查看此页面。如果尚未更改任何配置文件,请在安装中检查文件conf / tomcat- users.xml。该文件必须包含凭据,才能使用此Web应用程序。
以下是我的shell命令:
curl -T $WORKSPACE/target/myapp-1.0-RC1.war 'http://serverIP:8080/manager/deploy?update=true&path=/myapp'-u username:password
但是上述命令在我的tomcat 6.0.24中可以正常工作。根据Tomcat 6.0.30及以后的tomcat文档,我确实将tomcat用户角色定义为manager-gui,manager-script和manager- jmx,将使用manager应用程序所需的角色从单个manager角色更改为以下四个角色。
以下是我的tomcat-users.xml内容:
<tomcat-users> <user username="managergui" password="tomcatManager" roles="manager-gui"/> <user username="manager" password="tomcatManager" roles="manager-script"/>
我在tomcat-users.xml或我的shell命令中做错了,这导致授权异常。
不要使用curl命令来“复制”战争。使用Jenkins Deploy插件部署应用程序,它将简化您的过程。