![](/img/trans.png)
[英]Subversion post-commit hook to update 'staging' version not working
[英]Teamcity with Subversion post commit script on windows
我們希望Teamcity在每次提交到Subversion的提交中建立我們的解決方案。 根據文檔,我們將創建一個.sh腳本:-
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文件:
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
但是,在嘗試執行時仍然失敗
"The system cannot find the path specified"
看來我們可能沒有正確轉換此值?
您引用的程序(例如curl
和timeout.exe
)是否位於$PATH
/ %PATH%
變量中的位置? 您要引用的其他任何文件如何-是否指定完整路徑
旁注:您是否在Windows服務器上安裝curl
和timeout.exe
?
而且, /dev/null
在Windows上不存在。 您需要重定向到NUL
。 您不僅可以更改文件擴展名和某些語法,而且希望bash腳本在Windows上運行。
如果我不滿意,我將完全跳過批處理,並使用諸如Powershell之類的現代而理智的腳本來編寫腳本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.