maven使用Cargo实现自动化部署

maven 配置cargo

首先在maven <build>节点下配置Cargo:

 
  <plugin>
    <groupId>org.codehaus.cargo</groupId>
    <artifactId>cargo-maven2-plugin</artifactId>
    <version>1.4.12</version>
    <configuration>
        <container>
            <containerId>tomcat8x</containerId>
            <type>remote</type>
        </container>
        <configuration>
            <type>runtime</type>
            <properties>
                <cargo.hostname>${test.server.host}</cargo.hostname>
                <cargo.servlet.port>${test.server.port}</cargo.servlet.port>
                <cargo.remote.username>${test.server.username}</cargo.remote.username>
                <cargo.remote.password>${test.server.password}</cargo.remote.password>
            </properties>
        </configuration>
        <deployables>
            <deployable>
                <properties>
                    <context>${test.context}</context>
                </properties>
                <pingURL>http://${test.server.host}:${test.server.port}/${test.context}</pingURL>
                <pingTimeout>1000000</pingTimeout>
            </deployable>
        </deployables>

    </configuration>
 </plugin>
            
  • 然后添加properties标签定义变量
    <properties>    
        <test.server.host>xxx.xx.xx.xx</test.server.host>
        <test.server.port>8080</test.server.port>
        <test.server.username>admin</test.server.username>
        <test.server.password>admin</test.server.password>
        <test.context>demo</test.context>
    </properties>

tomacat

Tomcat Manager的用户配置是在Tomcat安装目录/conf/tomcat-users.xml文件中进行管理的。

    <role rolename="tomcat"/>
    <role rolename="role1"/>
    <role rolename="manager"/>
    <role rolename="admin"/>
    <role rolename="manager-gui"/>
    <role rolename="manager-script"/>
    <role rolename="manager-jmx"/>
    <role rolename="manager-status"/>
    <user username="tomcat" password="tomcat" roles="tomcat"/>
    <user username="weirdor" password="weirdor" roles="admin,manager,tomcat,manager-gui,manager-script,manager-jmx,manager-status"/>
      

我们只需要在tomcat-users节点中配置相应的role(角色/权限)和user(用户)即可。一个user节点表示单个用户,属性username和password分别表示登录的用户名和密码,属性roles表示该用户所具备的权限。

user节点的roles属性值与role节点的rolename属性值相对应,表示当前用户具备该role节点所表示的角色权限。当然,一个用户可以具备多种权限,因此属性roles的值可以是多个rolename,多个rolename之间以英文逗号隔开即可。

manager

由于在服务器中manager的配置有问题,因为只允许本机访问所以其他人无法访问所以我们去找到这个配置文件 tomcat的路径/webapps/manager/META-INF/context.xml
默认为:

    <Context antiResourceLocking="false" privileged="true" >
        <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
    </Context>

改为:


    <Context antiResourceLocking="false" privileged="true" >
      <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         addConnectorPort="true"
            allow="127\.\d+\.\d+\.\d+;\d*|::1;\d*|0:0:0:0:0:0:0:1;\d*|.*;8080"/>
      <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
    </Context>

大功告成!!!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,665评论 19 139
  • 22年12月更新:个人网站关停,如果仍旧对旧教程有兴趣参考 Github 的markdown内容[https://...
    tangyefei阅读 35,421评论 22 257
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,282评论 6 342
  • 1.简介 之前的maven项目打包类型都为pom或者POM,今天讲一下用maven构建web应用,web应用的打包...
    zlcook阅读 3,521评论 0 12
  • 独自站在梦境的窗前 看见风铃上 一只蝴蝶静憩安然 倾吐着淡蓝色的郁香 牵引着你踏入回忆的草地 听见忽远忽近的林涛 ...
    Morganite阅读 296评论 2 2

友情链接更多精彩内容