当前位置: 首页 > 知识库问答 >
问题:

在部署新版本之前备份已部署的web应用程序(自动)

戴高远
2023-03-14

情况如下:

我使用maven和cargo plugin将web应用程序自动部署到不同的环境中,使用Hudson运行/调度作业来完成这项工作。我使用tomcat作为目标应用程序容器。

但是我想找到最好的方法来备份部署的Web应用程序到某个网络/FTP位置,在maven/货物部署最新版本之前。我一直在寻找一些有助于做类似事情的maven插件,但似乎像这样的任务超出了maven的范围。此外,我正在寻找一些可能有助于完成这项工作的Hudson插件,但没有成功。

我还看了(Tomcat)Backup WAR on Deploy中的讨论,但我想避免的是有人从tomcat中获取war文件并将其放置到外部位置,我想自动执行此任务。

提前谢谢

共有1个答案

沃念
2023-03-14

考虑在准备包阶段或包阶段定义maven-antrun-plugin。请参阅阶段列表:http://www.sonatype.com/books/mvnref-book/reference/lifecycle-sect-structure.html#lifecycle-sect-default然后,创建将您的战争复制到任何地方的蚂蚁目标。

这里是maven-antrun-plugin在阶段安装的示例:

<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <version>1.7</version>
                <executions>
                    <execution>
                        <id>file-exists</id>
                        <phase>install</phase>
                        <goals>
                            <goal>run</goal>
                        </goals>
                        <configuration>
                            <target>
                                <exec executable="cmd">
                                    <arg value="/c"/>
                                    <arg value="copy your file"/>
                                </exec>
                            </target>
                        </configuration>
                    </execution>

                </executions>
            </plugin>
        </plugins>
    </build>

然后,创建将您的战争复制到任何地方的蚂蚁目标。您可以使用其他任务而不是exec任务,例如SCP任务:https://ant.apache.org/manual/Tasks/scp.html此外,您可以定义自己的maven配置文件,该配置文件将仅在Hudson中调用

 类似资料:
  • 环境 Flink1.7.1 Kafka1.0.1 当我用新版本的代码更改应用程序并进行部署时,就会出现应用程序执行失败的问题 如果我部署相同的组。id更改应用程序代码后,是否会与以前的状态检查点信息发生冲突?

  • 我是云提供商的初学者,我有一个网站要部署。该网站使用PHP、HTML、CSS和Javascript创建,并使用在NodeJS上开发的API访问数据库。 有没有办法在一个AWS弹性豆茎应用程序上部署所有这些(Inteface+NodeJS API)?或者我应该只在AWS Elastic Beanstalk上部署API,而将网站的界面与其他AWS解决方案一起部署,例如Amazon S3上的静态网站。

  • 当一个 Web 应用程序部署到容器中,在 Web 应用程序开始处理客户端请求之前,必须按照下述步骤顺序执行。 实例化部署描述文件中<listener>元素标识的每个事件监听器的一个实例。 对于已实例化的实现了 ServletContextListener 接口的监听器实例,调用 contextInitialized() 方法。 实例化部署描述文件中<filter>元素标识的每个过滤器的一个实例,并

  • Requirements 运行一个Spark Streaming应用程序,有下面一些步骤 有管理器的集群-这是任何Spark应用程序都需要的需求,详见部署指南 将应用程序打为jar包-你必须编译你的应用程序为jar包。如果你用spark-submit启动应用程序,你不需要将Spark和Spark Streaming打包进这个jar包。 如果你的应用程序用到了高级源(如kafka,flume),你需

  • 我正在研究Terraform以及如何使用它来设置AWS环境。到目前为止,我已经有了用3个公共子网、3个私有子网、一个互联网网关和3个Nat网关设置VPC的脚本。然而,我对如何在私有子网中部署和重新部署应用程序感到困惑? 在我的场景中,我们使用Spring Boot构建微服务。我们的想法是转移到一种状态,在这种状态下,我们可以将弹性负载平衡器连接到公共子网,并在私有子网中的自动缩放组中承载我们的应用

  • 问题内容: 我有一个已部署的SSIS程序包,其中包含时间表和所有内容。现在,我对该程序包进行了更改。我是否必须重新部署它,并重新设置它的时间表,或者有没有办法用最新的版本更新已经部署的SSIS包? 问题答案: 是的,您需要将软件包重新部署到计划程序希望找到该软件包的任何位置。 但是,您不需要重新创建作业,配置或任何爵士乐,只需执行就地替换dtsx包的操作即可。如果将其存储到文件系统,请在其上复制新