2

状況は次のとおりです。

私はMavenとCargoプラグインを使用して、さまざまな環境にWebアプリを自動的にデプロイし、Hudsonを使用してジョブを実行/スケジュールして作業を行っています。ターゲットアプリコンテナとしてTomcatを使用しています。

しかし、maven / cargoが最新バージョンをデプロイする前に、デプロイされたWebアプリケーションをネットワーク/FTPの場所にバックアップするための最良の方法を見つけたいと思います。私は似たようなことをするのに役立ついくつかのMavenプラグインを探していましたが、このようなタスクはMavenの範囲外のようです。また、私はこの作業を行うのに役立つかもしれないいくつかのハドソンプラグインを探していますが、成功していません。

(Tomcat)Backup WAR on Deployの説明も確認しましたが、回避したいのは、誰かがTomcatからwarファイルを取得して外部の場所に配置することです。このタスクを自動化したいと思います。

前もって感謝します

4

1 に答える 1

1

準備パッケージフェーズまたはパッケージフェーズで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 また、Hudsonでのみ呼び出される独自のMavenプロファイルを定義できます。

于 2013-03-19T17:21:12.310 に答える