Maven cargo 远程自动部署war
如果不使用maven构建项目,则可以直接考虑将war包直接通过cargo远程部署到远端服务器上
(也就是说先创建个maven项目,打好包,再通过shell脚本,将所需要的项目打成war包,放到target目录下,对war包进行覆盖)。
打war包:
cd 项目目录,即WEB-INF所在目录
jar -cfM0 /app/proj-1.0-SNAPSHOT.war ./
1、创建maven项目
mvn archetype:generate
2、在pom.xml中配置maven-war-plugin和cargo-maven2-plugin
<build> <plugins> <plugin> <groupId>org.codehaus.cargo</groupId> <artifactId>cargo-maven2-plugin</artifactId> <version>1.4.9</version> <configuration> <container> <containerId>tomcat5x</containerId> <type>remote</type> </container> <configuration> <type>runtime</type> <properties> <cargo.remote.uri>http://你的IP:8080/manager</cargo.remote.uri> <cargo.remote.username>admin</cargo.remote.username> <cargo.remote.password>admin</cargo.remote.password> </properties> </configuration> <deployables> <deployable> <groupId>${project.groupId}</groupId> <artifactId>${project.artifactId}</artifactId> <type>war</type> <properties> <!-- 使用根路径,作为上下文 --> <context>/</context> </properties> <!-- 可选:验证是否部署成功 --> <pingURL>http://你的IP:8080</pingURL> <!-- 可选:验证超时时间,默认是120000 毫秒--> <pingTimeout>60000</pingTimeout> </deployable> </deployables> </configuration> </plugin> <!-- 本地部署 <plugin> <groupId>org.codehaus.cargo</groupId> <artifactId>cargo-maven2-plugin</artifactId> <version>1.4.0</version> <configuration> <container> <containerId>tomcat5x</containerId> <home>D:\Tomcat5.5</home> </container> <configuration> <type>existing</type> <home>D:\Tomcat5.5</home> </configuration> </configuration> </plugin> --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.2</version> <configuration> <webXml>src\webapps\WEB-INF\web.xml</webXml> </configuration> </plugin> </plugins> </build> </project>
3、修改tomcat配置
Tomcat5.5\conf\server.xml
<Host
appBase="webapps"
name="localhost">
<!--上面cargo进行部署时使用的根路径,这里就不要配置了-->
<!-- Context path="" docBase="app" debug="0" reloadable="false" crossContext="true"/-->
<!--配置tomcat的manager http://localhost:8080/manager/html-->
<Context path="/manager" docBase="/app/Tomcat5.5/server/webapps/manager" debug="0" privileged="true"/>
</Host>
Tomcat5.5\conf\tomcat-users.xml 添加
<role rolename="admin"/>
<user username="admin" password="admin" roles="admin,manager"/>
Tomcat8 则使用
<role rolename="admin"/>
<user username="admin" password="admin" roles="admin,manager-script,manager-gui"/>
相关权限都可以在/webapps/manager/WEB-INFO/web.xml里找到
发布主要使用manager-script权限,界面的展示主要使用manager-gui权限
访问的地址:http://你的IP:你的端口/manager/
同时POM中的配置也需要调整:
<containerId>tomcat8x</containerId>
<cargo.remote.uri>http://127.0.0.1:8080/manager/text</cargo.remote.uri>
<configuration> <container> <containerId>tomcat8x</containerId> <type>remote</type> <timeout>120000</timeout> </container> <configuration> <type>runtime</type> <properties> <cargo.remote.uri>http://127.0.0.1:8080/manager/text</cargo.remote.uri> <cargo.remote.username>admin</cargo.remote.username> <cargo.remote.password>admin</cargo.remote.password> </properties> </configuration>
相关推荐
要实现Cargo对Tomcat7的远程部署,需要对Tomcat的conf/tomcat-users.xml文件进行配置。添加具有管理权限的角色(manager、admin等),并创建具有相应角色的用户。这是为了确保当使用Cargo插件远程访问Tomcat服务器...
在这个"cargo远程部署web项目资料"中,我们将会探讨如何利用Cargo和Maven来实现远程Web项目的自动化部署。 1. **Cargo简介** Cargo是由Codehaus组织开发的工具,它提供了一种统一的方式来管理Java应用服务器,支持...
### cargo实现自动化部署远程jetty容器(非安全模式) #### 一、准备工作 在开始部署之前,我们需要确保已经具备以下条件: 1. **WAR包**:`DeployerWebapplicationfortheJettyremotecontainers`,该WAR包是部署到...
- **Cargo插件**:Cargo提供更灵活的容器管理,包括远程部署到生产环境的Tomcat服务器。 5. **Maven生命周期与构建过程**: - **clean**:清理项目目标目录,如target。 - **compile**:编译源代码为字节码。 -...
Cargo插件是一个Maven插件,可以用于自动化部署Web应用程序到各种Web容器中,如Tomcat、Jetty等。 **使用WebLogicMavenPlugin插件自动化部署weblogic** WebLogicMavenPlugin插件用于自动化部署Web应用程序到Oracle...
Gradle Cargo Plugin是一款强大的构建工具Gradle的插件,它集成了Cargo库,使得开发者能够方便地对Web应用程序进行本地和远程的部署操作。Cargo是一款非常实用的Java应用部署工具,支持多种应用服务器,如Tomcat、...
总的来说,"deploy.rar"中的插件是基于Cargo的Java项目部署解决方案,它为开发者提供了一种高效、可靠的远程部署工具。通过集成到构建工具或Jenkins等CI/CD系统中,它可以极大地提高开发团队的工作效率,降低部署...
Ant可通过`scp`、`ftp`等网络传输方式实现远程部署,或者利用特定插件完成容器部署等工作。 **1.10 启动构建脚本** 有时,为了简化构建过程,开发者需要在构建脚本中加入引导逻辑。这部分内容将指导如何实现这一...