6

ビルド後のアクションが失敗する、長い Jenkins ジョブがあります。

ジョブ全体を再実行せずに、ビルド後のアクションを繰り返し実行するにはどうすればよいですか?

4

3 に答える 3

4

ジョブを 2 つのジョブに分割することができない場合は、
https://wiki.jenkins-ci.org/display/JENKINS/Promoted+Builds+Plugin
を検討してください (これは Jenkins にプリインストールされていると思います)。これにより、「プロモーション」ステップが個別の繰り返し可能なプロセスになります。ビルド後に自動的に実行するように構成し、必要に応じてオンデマンドで手動で実行することができます。

ビルド後の手順でビルド アーティファクトへのアクセスが必要な場合は、https://wiki.jenkins-ci.org/display/JENKINS/Copy+Artifact+Pluginを使用してビルド アーティファクトをプロモーションのワークスペースにコピーする必要があります。

別の解決策は、パラメーターに基づいてビルド ステップをスキップすることです。SkipBuildなどと呼ばれるChoiceパラメーターがあります。可能な値を TRUE/FALSE に設定します。デフォルトは FALSE です

ビルドステップで、実際にビルドする前に、SkipBuild が TRUE に設定されているかどうかを確認します。TRUE の場合は 0 で終了し、FALSE (デフォルト) の場合はビルド コマンドを実行します。

このようにして、自動ビルド実行は常にビルド ステップを実行します。ただし、ビルドを手動で実行し、「SkipBuild=TRUE」を選択してビルド ステップをスキップし、ビルド後のアクションに直接進むこともできます。ビルド後のアクションをスキップする必要がある場合は、このSkipBuildパラメーターも実装する必要があります。

ただし、"SkipBuild=TRUE" を指定した場合でもビルドの後続の実行では SVN チェックアウトが実行されるため、ワークスペースが変更される可能性があるので注意してください。

于 2013-03-04T19:28:25.147 に答える
1

ビルド手順によっては、それらを「スキップ」できる場合があります。

たとえば、私のビルド ステップは、powershell と Windows のバッチ ファイルです。

ステップをスキップしたい場合は、powershell またはバッチ コマンドの最初の行として「exit 0」を追加するだけです。

これにより、ワークスペースのクリーンアップや scm チェックアウトの実行など、他のビルド前の手順が引き続き発生することに注意してください。

于 2013-03-04T00:17:57.863 に答える
0

アクションが何であるかに応じて、1 つの大雑把なオプションとして、元のジョブによってトリガーされるスタンドアロン ジョブに単純に分割することが考えられます。そうすれば、手動で再実行できます。

2 つのジョブ間でアーティファクトまたはワークスペースを共有するには、次のプラグインが思い浮かびます。

于 2013-03-03T22:34:17.963 に答える