豚吐露@wiki
TortoiseSVNでCheckInしたタイミングでbuildする
最終更新:
Bot(ページ名リンク)
-
view
TortoiseSVNでCheckInしたタイミングでbuildする
svn側のフックスクリプトを使えない時にどうしようか悩んだ挙句...
TortoiseSVNのクライアントフックをbuildトリガにする方法を考えた。
TortoiseSVNのクライアントフックをbuildトリガにする方法を考えた。
似たような名前でも、SubVersionのフックスクリプトとは、動作タイミングが異なるので要注意。
Hook Type | Timing |
Start Commit Hook | コミットダイアログが表示される前に呼ばれる。 |
Pre-Commit Hook | コミットダイアログでOKボタン押下後、コミット処理が始まる前に呼ばれる。 |
Post-Commit Hook | コミット処理が終わった後に呼ばれる。 |
Start Update Hook | 進捗ダイアログが表示される前に呼ばれる。 |
Pre-Update Hook | 実際にsvnに対して要求を出す前に呼ばれる。 |
Post-Update Hook | 実際に出した要求に対する処理が行われた後に呼ばれる。 svn up、svn switch、svn coなどの処理の後でも呼ばれるらしい。 |
Pre-Connect Hook | リポジトリに接続を行う前に呼ばれる。5分間隔くらいで呼ばれるらしい。 |
以下のように設定してみる。


『Hook Type』は、上に書いたように設定した処理が動くタイミングを指定する。
『Working Copy Path』は、多分、フック処理の対象となるworkを指定する。なので、workの場所が変わったりなんかすると、ちょっとめんどい。
まさか、全部のworkに設定する訳にもいかんしなぁ...
『Command Line To Execute』は、そのタイミングで行いたい処理ですね。vbsやbatを使ってやれば良い。
『Working Copy Path』は、多分、フック処理の対象となるworkを指定する。なので、workの場所が変わったりなんかすると、ちょっとめんどい。
まさか、全部のworkに設定する訳にもいかんしなぁ...
『Command Line To Execute』は、そのタイミングで行いたい処理ですね。vbsやbatを使ってやれば良い。
次にチェックボックス。
『Wait for the script to finish』をONにすると、Tortoiseは、設定された処理が終わるまで待ってる。
『Hide the script while running』をONにすると、処理が走るダイアログを隠す。コマンドプロンプトとかが見えんようにできるっぽぃ。
『Always execute the script』をONにすると、対象外のWORKで行われた場合でも、処理が動くみたい。
『Wait for the script to finish』をONにすると、Tortoiseは、設定された処理が終わるまで待ってる。
『Hide the script while running』をONにすると、処理が走るダイアログを隠す。コマンドプロンプトとかが見えんようにできるっぽぃ。
『Always execute the script』をONにすると、対象外のWORKで行われた場合でも、処理が動くみたい。
で、試しに特定のURLにアクセス(Get)するvbsを書いてみたのがコレ。
- Option Explicit
- Dim targeturl, http
-
- targeturl="http://192.168.1.10:8080/job/RemoteBuildTest/build?token=RemoteBuildToken"
- Set http = CreateObject("MSXML2.XMLHTTP")
- http.Open "GET", targeturl, False
- http.Send
-
- If 201 <> http.Status Then
- WScript.Echo "Build Request NG: " & http.Status & " " & http.StatusText
- End If
-
- Set http = Nothing
と、言うわけで、Jenkinsのリモートビルドがチェックインの度に動く予定が...svn upとかのタイミングとかでも動いてしまう訳ですね...(´・ω・`)
大人しく『SCMをポーリング』でトリガ引いた方が良い気がする...
あと、どんなに頑張っても『%REPOROOT%』が使えんかったんですが...何か使う方法あるんでしょうか?
更新日: 2014年12月10日 (水) 18時33分41秒
添付ファイル