1つのジョブで複数リポジトリをチェックアウトした場合、SVN_REVISIONが正しくとれない

2,289 views
Skip to first unread message

Mucho

unread,
Feb 14, 2012, 9:45:41 AM2/14/12
to jenkin...@googlegroups.com
こんにちは。
また困ったことが有り質問させていただきます。よろしくお願いします。
 
1つのジョブで複数リポジトリをチェックアウトした場合、
SVN_REVISIONが正しくとれない状態になります。
解決策がないものかと調べているのですが、
これといった情報には行き当たれてない状況です。
 
状況を作成する手順としては、単純に、
ジョブの設定の「ソースコード管理システム」>Subversion
において、複数のリポジトリをチェックアウトさせます。
 
例:
URL1:http://ServerName/svn/Repo1/trunk
DIR1:Repo1
URL2:http://ServerName/svn/Repo2/trunk
DIR2:Repo2

このようにした場合、コマンドや通知メールに仕込めれる
環境変数 SVN_REVISION がおかしくなります。
たとえば、Windowsバッチコマンド内からだと空(未定義?)になり、
拡張E-mail通知プラグインからだと、必ず"400"という固定値になります。
ちなみに、拡張E-mail通知プラグインの、
${CHANGES}は両方のログともちゃんと取れてきております。
 
ジョブの結果画面の「リビジョン」には、
ちゃんと各リポジトリのアドレスとリビジョン番号が表示されているので、
なんとか取ってこれないものかと考えております。

この問題を回避する手段をご存じの方はおられませんでしょうか。
もしくは、複数リポジトリをチェックアウトする場合は、
環境変数 SVN_REVISION は正しく機能しないものと思った方が良いのでしょうか。
 
理想としては、各リポジトリのリビジョン番号をそれぞれとれると良いのですが、
最悪、Repo1側(リスト先頭)のリビジョンだけでも取れればと考えております。
 
Jenkinsは、Windowsサービスとして動作させています。
SVNのサーバーはVisualSVNで、jenkinsのジョブ側はv1.6としてチェックアウトさせています。
 
以上、よろしくお願いします。

Seiji Sogabe

unread,
Feb 14, 2012, 9:53:09 AM2/14/12
to jenkin...@googlegroups.com
曽我部です。

複数のリポジトリをチェックアウトした場合は、SVN_REVISION_1, SVN_REVISION_2, ...
のようになります。

2012年2月14日23:45 Mucho <muchosys...@gmail.com>:

--
s.sogabe at gmail.com

Mucho

unread,
Feb 14, 2012, 11:01:57 AM2/14/12
to jenkin...@googlegroups.com
早速のご回答ありがとうございます。
 
なんと、そんな環境変数があったんですね。
全く気がつきませんでした。
 
これで、リビジョン番号の問題は解決できそうです。
早速試してみます。
ありがとうございました。
Reply all
Reply to author
Forward
0 new messages