24

私には2つの仕事があります:

  1. アップロード
  2. 起動インスタンス

Launch-instanceを他のインスタンスに依存させて、Launch-instanceをトリガーすると、自動的Upload最初に実行されるようにします。

組み込みのJenkins機能またはプラグインを使用してこれを実現できますか?

Uploadが常にLaunch-instanceをトリガーすることを望まないことに注意してください。これは、Launch- instanceの「他のプロジェクトがビルドされた後にビルドする」オプションが行うことです。私が欲しいのは、 Antで属性がどのように機能するかに似ていますdepends

4

5 に答える 5

27

パラメータ化されたトリガープラグインを試しましたか?

これをビルドステップとして使用し、「トリガーされたプロジェクトがビルドを完了するまでブロックする」のチェックボックスをオンにすることができます。それはまさにあなたが探しているものでなければなりません。

于 2011-09-21T08:44:52.733 に答える
5

ああ、見つけた!ここで私は道を示したが私のためにこれを完全に解決しなかったミキの答えに基づいています。

mikiがリンクしたHudsonのリモートアクセスAPIページのコメントからリンクされたHudsonビルドの起動に関するスペイン語の記事で述べられているように:

Enlasección"BuildTriggers " [...] marcamoslaopción"トリガーはリモートでビルドします(たとえば、スクリプトから) "。Almarcarestaopciónvemoscomoapareceel cuadrodetexto「認証トークン」。Aquípondremoselnombredeltokendeautenticación。

代替テキスト
(出典:adictosaltrabajo.com

(スペイン語を知ることの利点が具体化し始めているようです... :-)

したがって、Hudsonは、ビルドをリモートでトリガーするための便利な組み込みオプションを提供します。(私の場合はアップロードジョブの)ビルドトリガーセクションで、リモートビルドを有効にし、認証トークンを設定できます(上のスクリーンショットを参照)。次に、そのトークンを含む特定のURLにアクセスして、ビルドを起動できます。私の場合、 Launch-instanceの最初のビルドステップは次のようになります。

wget http://[hudson-url]/job/Upload/build?token=TEST
sleep 10

これは、匿名ビルドが無効になっている場合でも機能し、ビルドURLにアクセスしようとすると「403Forbidden」になります。

于 2010-04-20T12:47:52.317 に答える
2

wgetを介して依存ジョブを実行することは、一般的な解決策ではありません。ジョブは非同期で実行されるため、Launch-jobはハングせず、Uploadジョブが完了するのを待ちます。スリープの使用は単なる汚いハックであり、ほとんどの場合のオプションではありません... IMHOの最善の解決策は、次を使用することです: http ://wiki.jenkins-ci.org/display/JENKINS/Join+Plugin

于 2011-11-19T19:45:40.643 に答える
1

最初のビルドステップとしてwgetを使用してビルドURLを呼び出してUploadをビルドするのはどうですか?次に、 Launch-instanceのビーフビルドステップを追加します。

または、より洗練されたアプローチの場合は、おそらくリモートアクセスAPIを使用します。

于 2010-04-20T12:21:46.453 に答える
0

ダウンストリームまたはアップストリームの依存関係を使用できます。「ビルドトリガー」->他のプロジェクトがビルドされた後にビルドするか、プロジェクトの構成部分でビルド後のアクションを使用する必要があります。

于 2010-04-20T11:34:23.637 に答える