[英]Android Build job on Jenkins fails with Error cloning remote repo 'origin'
[英]Error code is 0 but Jenkins job is failure
我總是詹金斯失敗:
構建步驟“執行Windows批處理命令”將構建標記為失敗
但是當我輸入批處理命令時:“ echo退出代碼為%errorlevel%”,我得到0代碼。
我的批處理命令是:
ELSE (
ROBOCOPY.EXE C:\dir2\ C:\dir1\ script.bat /IS
cd C:\dir1\
echo Exit Code is %errorlevel%
C:\dir1\script.bat
echo Exit Code is %errorlevel%
ROBOCOPY.EXE C:\dir1 C:\dir3 /E /IS /XF *.config
echo Exit Code is %errorlevel%
)
echo TEST
從不顯示命令回顯TEST。 當我從批處理“ C:\\ dir1 \\ script.bat”中刪除時,一切正常,詹金斯工作成功。
腳本bat僅包含如下命令:
德爾。\\ bin \\ library.dll
您怎么看,問題出在script.bat? 當我在此腳本的末尾添加:EXIT / B 0時,作業也失敗了。
您必須在這里為我們提供超過一半的陳述,才能得到明確的答案。 這可能是)
在之前else
丟失(它必須在同一行的else
關鍵字)。
您更有可能成為delayed expansion
問題中的4800萬受害者。 請參閱關於SO的無數示例。
在塊語句(a parenthesised series of statements)
,將分析整個塊然后執行。 解析該塊時-執行該塊之前-該塊內的任何%var%
都將由該變量的值替換-同樣的情況也適用於FOR ... DO (block)
。
因此,將在遇到IF
時使用%variables%
的值執行IF (something) else (somethingelse)
。
解決此問題的兩種常用方法是:1)使用setlocal enabledelayedexpansion
和使用!var!
代替%var%
訪問的改變值var
或2),以調用一個子程序使用改變的值來執行進一步的處理。
因此,您將看到解析 (假定的) IF
時(執行之前)時存在的errorlevel
值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.