下流ジョブで上流ジョブのSVN update情報を受け取る方法について

1,779 views
Skip to first unread message

Mucho

unread,
Nov 22, 2013, 11:03:25 PM11/22/13
to jenkin...@googlegroups.com
こんにちは、Muchoと申します。

Multi Job Pliginなどを利用しつつ、複数のジョブでフローを組もうとしているのですが、
上流ジョブでSVN updateを1度だけかけ、下流ジョブで同じワークを利用しようと考えているのですが、
ジョブフローとしては、けっこう望み通りに組めそうな手応えを持ててきたのですが、
下流ジョブでエラーが発生した場合に、エラー通知にコミットログなどの情報を拾えない状態となっております。

そこで、上流でupdateした時の情報(拡張メールプラグインで言うところの、{SVN_REVISION}や{CHANGES}などの情報)を
そのまま下流に渡すことができないかと考えているのですが、
良い方法にたどり着けていません。
SVN_REVISIONは、parameterというか環境変数としてそのまま渡せば済みそうですが、
変更履歴はうまく渡せません。

もしくは、上流側で下流ジョブのステータスとログを丸ごと取得できても何とかなるかもしれないと考えはしたのですが、
これもこれで、どう取得すれば良いか思いつけていないところです。

何か良い手段や、支援してくれるプラグインをご存じの方がおられましたら、ご教授いただけないでしょうか。


ちなみに余談ですが、Build Flow Pluginでもやりたいことができそうと思ったのですが、
カスタムワークスペースが指定できない点で断念したところです。

よろしくお願いします。

Seiji Sogabe

unread,
Nov 23, 2013, 1:07:05 AM11/23/13
to jenkin...@googlegroups.com
曽我部です。

Parameterized Trigger Plugin [1] を使うと、別のジョブを起動することができますが、
Add Parameterで、Subersion revisionを選択すると、リビジョンを下流ビルドを渡す
ことができます。下流ビルドでは、変更履歴にコミットログが表示されます。

これは、Gitでも同様です。



[1] https://wiki.jenkins-ci.org/display/JENKINS/Parameterized+Trigger+Plugin

2013年11月23日 13:03 Mucho <muchosys...@gmail.com>:
> --
> このメールは Google グループのグループ「日本Jenkinsユーザー会」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、jenkinsci-ja...@googlegroups.com
> にメールを送信します。
> その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。



--
s.sogabe at gmail.com

Mucho

unread,
Nov 23, 2013, 11:02:56 AM11/23/13
to jenkin...@googlegroups.com
Muchoです。
ご返答ありがとうございます。

Parameterized Trigger Pluginは、すでに試していたつもりだったのですが、
設定方法を間違っていた可能性が高そうですね。
再度実験してみます。

ありがとうございました。

Mucho

unread,
Nov 25, 2013, 11:59:36 AM11/25/13
to jenkin...@googlegroups.com
Muchoです。
ご返答遅れましたが、ジョブの設定を再度確認してみました。

Parameterized Trigger Plugin で、あらためてSubersion revisionを確認したところ、
最初はやはり何も情報が渡っていなかったようなのですが、
下流ジョブの方でも、Subversionの項で同じリポジトリを設定してみたところ、
上流ジョブと同じリビジョンでupdateがかかり、
リビジョンや更新履歴が表示されるようになりました。

ただ、上流ジョブとで同じワークを使い回す場合、
全く同じリポジトリのリビジョンを再度svn updateをかけることになり、
このことが無駄な処理のように思えますし、それよりも、
下流ジョブを2個同時に走らせた場合に、同じワークに対して同時にupdateをかけけてロックされてしまいますので、
片方をわざわざ別のワークにしておかなければならないものなのかな、と疑問に思っております。

何か盛大な勘違いをしているような気がしないでもないのですが、
下流ジョブ側でsvn updateをかけずに情報を渡すことはできないものなのでしょうか。

よろしくお願いします。


2013年11月24日日曜日 1時02分56秒 UTC+9 Mucho:

Yoichi Nakayama

unread,
Nov 25, 2013, 6:24:02 PM11/25/13
to jenkin...@googlegroups.com
Clone Workspace SCM Plugin を使うとWorkspaceをコピーして使いまわせます。
https://wiki.jenkins-ci.org/display/JENKINS/Clone+Workspace+SCM+Plugin


2013/11/26 Mucho <muchosys...@gmail.com>

Mucho

unread,
Nov 28, 2013, 2:28:57 PM11/28/13
to jenkin...@googlegroups.com
yoichiさん

こちらもテスト環境で実験はしてみましたが、更新情報などは渡されなかったようです。
また、やはりワークスペースそのものを丸ごとコピーするのは、
それなりに大きなサイズのファイルを多数含むので厳しいです。

理想としては、上流のSCM情報を、下流でupdateかけずに丸ごともらいたい、といったところなのですが、
難しいのでしょうか。
とりあえず、結局はワークを二重に持たせたり、svn updateオプションのas-it-is指定なども活用しつつ
無理矢理にでもいけないか、あがき中です。

ともかく、情報ありがとうございました。

2013年11月26日火曜日 8時24分02秒 UTC+9 yoichi:

Seiji Sogabe

unread,
Nov 29, 2013, 7:31:03 AM11/29/13
to jenkin...@googlegroups.com
曽我部です。

All-changes Plugin [1] を使うと、parameterized trigger build で起動した下流ビルドに、
上流の変更履歴を反映できます。
私はGitでやりましたが、Subversionでもできそうです。

1つのワークスペースを複数のジョブで共有すると、連続したコミットがあった場合、
意図しない動きをするかもしれないので、気をつけてください。

でわ。

[1] https://wiki.jenkins-ci.org/display/JENKINS/All+Changes+Plugin

2013年11月29日 4:28 Mucho <muchosys...@gmail.com>:

Mucho

unread,
Dec 1, 2013, 2:27:50 PM12/1/13
to jenkin...@googlegroups.com
Muchoです。
情報ありがとうございます。

早速試してみたのですが、残念ながら何も渡されていないような感じでした。
たしかに、プラグインのwikiのFeaturesの2文目には渡されるような文面に見受けられるのですが。

ちなみにClone Workspace SCM Pluginでつないでいる場合は、渡ってきたようです。
もしかして、下流ジョブ側の「ソースコード管理」が「なし」になっていると、
何も受け取ってもらえない、とかあるんでしょうか?
それとも、何か設定が抜けているのか、間違えているのか……。

とりあえず、as-it-isで空updateかけつつ無理矢理運用しながら、調査を継続していこうかと思います。
これでも、各処理を直列につないでいるよりかは早いので。
ありがとうございました。


実験用の自宅サーバー(Windows7)Jenkinsがぐちゃぐちゃになってきたので、全部きれいにして最新版(1.514)を入れ直したら、
サービスが立ち上がったあとすぐに止まる謎現象にOrz


2013年11月29日金曜日 21時31分03秒 UTC+9 sogabe:
曽我部です。

All-changes Plugin [1] を使うと、parameterized trigger build で起動した下流ビルドに、
上流の変更履歴を反映できます。
私はGitでやりましたが、Subversionでもできそうです。

1つのワークスペースを複数のジョブで共有すると、連続したコミットがあった場合、
意図しない動きをするかもしれないので、気をつけてください。

でわ。

[1] https://wiki.jenkins-ci.org/display/JENKINS/All+Changes+Plugin

2013年11月29日 4:28 Mucho <muchosys...@gmail.com>:
> yoichiさん
>
> こちらもテスト環境で実験はしてみましたが、更新情報などは渡されなかったようです。
> また、やはりワークスペースそのものを丸ごとコピーするのは、
> それなりに大きなサイズのファイルを多数含むので厳しいです。
>
> 理想としては、上流のSCM情報を、下流でupdateかけずに丸ごともらいたい、といったところなのですが、
> 難しいのでしょうか。
> とりあえず、結局はワークを二重に持たせたり、svn updateオプションのas-it-is指定なども活用しつつ
> 無理矢理にでもいけないか、あがき中です。
>
> ともかく、情報ありがとうございました。
>
> 2013年11月26日火曜日 8時24分02秒 UTC+9 yoichi:
>>
>> Clone Workspace SCM Plugin を使うとWorkspaceをコピーして使いまわせます。
>> https://wiki.jenkins-ci.org/display/JENKINS/Clone+Workspace+SCM+Plugin
>>
> --
> このメールは Google グループのグループ「日本Jenkinsユーザー会」の登録者に送られています。
> このグループから退会し、メールの受信を停止するには、jenkinsci-ja+unsubscribe@googlegroups.com
Reply all
Reply to author
Forward
0 new messages