zoukankan      html  css  js  c++  java
  • jenkins 通过maven部署Tomcat8报错

    问题过程

      jenkins执行构建过程中,可以在workspace/项目名/target/目录下产生xxx.jar文件
      但是在执行构建后操作时报出如下错误

    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  16.311 s
    [INFO] Finished at: 2018-11-24T21:30:49+08:00
    [INFO] ------------------------------------------------------------------------
    Deploying /usr/local/cpgroup/jenkins/workspace/java_maven/target/lyspace-visual.war to container Tomcat 8.x Remote with context 
    ERROR: Build step failed with exception
    org.codehaus.cargo.container.ContainerException: Failed to redeploy [/usr/local/cpgroup/jenkins/workspace/java_maven/target/lyspace-visual.war]
        at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:188)
        at hudson.plugins.deploy.CargoContainerAdapter.deploy(CargoContainerAdapter.java:77)
        at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:147)
        at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:117)
        at hudson.FilePath.act(FilePath.java:1077)
        at hudson.FilePath.act(FilePath.java:1060)
        at hudson.plugins.deploy.CargoContainerAdapter.redeploy(CargoContainerAdapter.java:114)
        at hudson.plugins.deploy.PasswordProtectedAdapterCargo.redeploy(PasswordProtectedAdapterCargo.java:93)
        at hudson.plugins.deploy.DeployPublisher.perform(DeployPublisher.java:64)
        at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45)
        at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:744)
        at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:690)
        at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.post2(MavenModuleSetBuild.java:1073)
        at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:635)
        at hudson.model.Run.execute(Run.java:1844)
        at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:543)
        at hudson.model.ResourceController.execute(ResourceController.java:97)
        at hudson.model.Executor.run(Executor.java:429)
    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:704)
        at org.codehaus.cargo.container.tomcat.internal.TomcatManager.list(TomcatManager.java:876)
        at org.codehaus.cargo.container.tomcat.internal.TomcatManager.getStatus(TomcatManager.java:889)
        at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:173)
        ... 17 more
    Caused by: java.io.IOException: Server returned HTTP response code: 403 for URL: http://192.xxx.xxx.xxx:8081/manager/text/list
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1894)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)
        at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:571)
        ... 20 more
    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:704)
        at org.codehaus.cargo.container.tomcat.internal.TomcatManager.list(TomcatManager.java:876)
        at org.codehaus.cargo.container.tomcat.internal.TomcatManager.getStatus(TomcatManager.java:889)
        at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:173)
        at hudson.plugins.deploy.CargoContainerAdapter.deploy(CargoContainerAdapter.java:77)
        at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:147)
        at hudson.plugins.deploy.CargoContainerAdapter$DeployCallable.invoke(CargoContainerAdapter.java:117)
        at hudson.FilePath.act(FilePath.java:1077)
        at hudson.FilePath.act(FilePath.java:1060)
        at hudson.plugins.deploy.CargoContainerAdapter.redeploy(CargoContainerAdapter.java:114)
        at hudson.plugins.deploy.PasswordProtectedAdapterCargo.redeploy(PasswordProtectedAdapterCargo.java:93)
        at hudson.plugins.deploy.DeployPublisher.perform(DeployPublisher.java:64)
        at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45)
        at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:744)
        at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:690)
        at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.post2(MavenModuleSetBuild.java:1073)
        at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:635)
        at hudson.model.Run.execute(Run.java:1844)
        at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:543)
        at hudson.model.ResourceController.execute(ResourceController.java:97)
        at hudson.model.Executor.run(Executor.java:429)
    Caused by: java.io.IOException: Server returned HTTP response code: 403 for URL: http://192.xxx.xxx.xxx:8081/manager/text/list
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1894)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)
        at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:571)
        ... 20 more
    Build step 'Deploy war/ear to a container' marked build as failure
    Finished: FAILURE

    查看问题原因

    Caused by: java.io.IOException: Server returned HTTP response code: 403 for URL: http://192.xxx.xxx.xxx:8081/manager/text/list

    说无权限访问该地址中的manager
    可以定位原因是Tomcat的权限设置问题
    先查看Tomcat用户名与密码是否可以登录manager
    本地访问Tomcat的manager status提示403权限页面,可以发现是权限配置问题
    本人权限配置如下

      <role rolename="manager-gui"/>
      <role rolename="manager-status"/>
      <role rolename="manager-script"/>
      <user username="admin" password="123456" roles="manager-gui, mananger-status,manager-script"/>

    可以看出没有问题

    来查询到该问题原因至于需要修改../webapps/manager/META-INF/context.xml文件

    <Context antiResourceLocking="false" privileged="true" >
      <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
    </Context>

    问题总结

    允许所有地址访问manager status页面
    由于我使用虚拟机部署Tomcat,本机访问,所以是两个不同的ip地址进行访问,那么原来的配置文件中只允许我127.0.0.1进行访问,所有我在本地访问时则会报403

  • 相关阅读:
    SpringMVC防止重复提交
    Apache Lucene初探
    ORACLE触发器详解
    ORA-02287: sequence number not allowed here问题的解决
    数据库索引
    字符串 栈
    字符串 逆序
    汽水瓶
    查找 排序----有一只兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子,假如兔子都不死,问每个月的兔子总数为多少?
    usb串口的作用以及JLINK
  • 原文地址:https://www.cnblogs.com/charles1ee/p/10036660.html
Copyright © 2011-2022 走看看