2016-12-28 7 views
0

TeamcityはSubversionにコミットするたびにソリューションを構築したいと考えています。 がドキュメントに続いて、我々は.SHスクリプトを作成するには、次のとおりです。 -TeamcityとSubversionのポストコミットスクリプトをウィンドウに表示

SERVER=https://buildserver-url 
USER=buildserver-user 
PASS="<password>" 

LOCATOR=$1 

# The following is one-line: 
(sleep 10; curl --user $USER:$PASS -X POST "$SERVER/app/rest/vcs-root-instances/commitHookNotification?locator=$LOCATOR" -o /dev/null) >/dev/null 2>&1 <&1 & 

exit 0 

Subversionは、Windows環境で実行されている、とそう.SHファイルが失敗します。 我々は、我々が持っているの.BATファイルにこれを変換しようとしている: -

"The system cannot find the path specified" 

で実行しようとしたときに

set SERVER=https://buildserver-url 
set USER=buildserver 
set PASS=password 

LOCATOR=%1% 

(timeout 10; curl --user %USER%:%PASS% -X POST "%SERVER%/app/rest/vcs-root-instances/commitHookNotification?locator=%LOCATOR%" -o /dev/null) >/dev/null 2>%1% <%1% & 

exit 0 

はしかし、これはまだ失敗していることは、おそらく我々が変換されたhavntようですこれは正しくですか?

答えて

0

変数$PATH/%PATH%に存在する場所に、参照しているプログラム(curlおよびtimeout.exeなど)がありますか。あなたが参照している他のファイルはどうですか - フルパスを指定していますか

サイドノート:curltimeout.exeをWindowsサーバーにインストールしましたか?

また、/dev/nullはWindowsでは存在しません。 NULにリダイレクトする必要があります。ファイルの拡張子や構文の一部を変更するだけでは、Windows上でbashスクリプトが動作することは期待できません。

私はあなたの靴の中にいたのですが、私はバッチをすべてスキップして、Powershellのような現代的で元気のあるものでスクリプトを書きました。

関連する問題