2

でMavenプロジェクトをビルドするJenkinsビルドがあります-PmyProfile clean package。これはうまくいきます。ここで、プロジェクトをデプロイ可能にする必要がありますが、別のタスク (JBoss デプロイ) で、jenkins GUI を介して明示的にトリガーできるようにします。そのために、私は自分のpomに次のものを持っています:

<profiles>
    <profile>
        <id>myProfile</id>
        <properties>...</properties>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.jboss.as.plugins</groupId>
                    <artifactId>jboss-as-maven-plugin</artifactId>
                    <version>7.0.0.Final</version>
                    <configuration>
                        <hostname>localhost</hostname>
                        <port>29999</port>
                        <username>admin</username>
                        <password>admin</password>
                        <filename>${project.build.finalName}.war</filename>
                        <name>my-webapp</name>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </profile>
</profiles>

mvn jboss-as:deploy今、私はその単一の展開を個別に呼び出したいだけです。しかし、どうすればそれを行うことができますか?2 つ目の Jenkins プロジェクトを作成すると、すべてを再度ビルドする必要があるため、非常にばかげています。別のモジュールとしてビルドすることもできません (「maven 3 ではサポートされていない単一モジュールのビルド」に関するエラー)。

何か案は?

ありがとう

4

3 に答える 3

2

../../SecondJob/workspace少し面倒ですが、次のようなファイルシステムの相対パスを使用する(またはシンボリックリンクを使用する)ことで、いつでも別のJenkinsワークスペースからデータを取得できます。私はすべてのプロジェクトで同じケース(個別のジョブとしてデプロイ)でこれを行っていましたが、それは機能します。エレガントではありませんが、Jenkinsにはそのための組み込みソリューションはないと思います。

または、そのためのJenkinsプラグインがあるようですが、私はそれを使用しておらず、何も言えません。

于 2012-06-12T13:25:00.120 に答える
1

考えられるトリック:

プロジェクトは1つだけですが、デフォルトでDEPLOYパラメーターをFALSEに設定してパラメーター化します。ビルドには、メインビルドと、デプロイ用のビルド後のトップレベルのMavenターゲットの呼び出しステップが含まれます。展開ステップは、 DEPLOYTRUEの場合にのみ呼び出されます。これを行うには、ConditionalBuildStepプラグインを使用します。

于 2012-06-12T14:03:01.293 に答える
0

deploy-onlyバージョン 7.5.Final で追加された新しいゴールがあります。Copy Artifact Pluginを使用すると、最初のジョブから戦争を取得できます。

参考文献:

于 2015-03-09T13:19:01.523 に答える