美文网首页
maven使用Cargo实现自动化部署

maven使用Cargo实现自动化部署

作者: Weirdor | 来源:发表于2017-09-14 21:32 被阅读0次

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>

大功告成!!!!

相关文章

网友评论

      本文标题:maven使用Cargo实现自动化部署

      本文链接:https://www.haomeiwen.com/subject/ibrjsxtx.html