8

ハドソンでのプロジェクトのプロダクションの仕事と夜間の仕事があります。プロダクション ジョブは、特定のナイトリー ビルド # (パラメーターとして提供される) からいくつかのアーティファクトを取得する必要があります。これを達成する方法についてのヒントを教えてくれる人はいますか?

4

3 に答える 3

8

Copy Artifactプラグインはこれを行うことができるようです。

別のアプローチは、アーティファクトを取得することです

http://server/jobs/job1/[build #]/artifacts/
于 2011-03-17T10:28:35.547 に答える
1

ジョブの構成ページで「ビルド環境」構成ツールを使用できます。[Configure M2 Extra Build Steps] ボックスにチェックを入れ、目的のアーティファクトから grep する実行シェルを追加します。

于 2011-03-21T11:34:25.963 に答える
0

同様のニーズがあり、次のシステム groovy を使用します。

import hudson.model.*

def currentBuild = Thread.currentThread().executable;
currentBuild.addAction(new ParametersAction(new StringParameterValue('LAST_BUILD_STATUS', 'FAILURE')));
def buildJob = Hudson.instance.getJob("ArtifactJobName");
def artifacts = buildJob.getLastBuild().getArtifacts();
if (buildJob.getLastBuild().getResult() == Result.SUCCESS && artifacts != null && artifacts.size() > 0) {
    currentBuild.addAction(new ParametersAction(new StringParameterValue('VARIABLE_NAME', artifacts[0].getFileName())));
    currentBuild.addAction(new ParametersAction(new StringParameterValue('LAST_BUILD_STATUS', 'SUCCESS')));
}

これによりVARIABLE_NAME、アーティファクト名 from が作成ArtifactJobNameされます。これらはすべて特定のフォルダーに保存されているため、これを使用します。複数のアーティファクトがあるとどうなるかはわかりませんが、アーティファクト配列から取得できるようです。

現時点でgetLastSuccessfulBuild別のビルドが行われているときに問題を防ぐために使用でき、null の配列を取得できます。ArtifactJobName

于 2014-09-12T15:47:06.867 に答える