TeamCity 7.0.1 шаг построения командной строки и уровень ошибок
у меня есть шаг сборки в моей конфигурации сборки, это бегун типа "Командная строка", выполняющий пользовательский скрипт.
скрипт выполняет Robocopy:
robocopy "%teamcity.build.workingDir%Code" "targetd$WebTarget Sites" /E /NP /LOG:robocopy.log
if ERRORLEVEL GEQ 4 (
"D:blat.exe" "robocopy.log" -to me@me.com -f me@me.com -subject "Error during robocopy on TEAMCITY" -server mail.me.com
)
exit /B 0
команда Robocopy работает нормально, но я продолжаю получать электронное письмо и в журнале сборки я продолжаю видеть:
GEQ был неожиданным в это время.
проверка уровня ошибок по какой-то причине не работает?
пробовал IF %ERRORLEVEL% GEQ
но это нарушает мою сборку имеет TeamCity ожидает, что я передам параметр сборки.
работает ли это только как "исполняемый файл с параметрами"?
Ура
2 ответов
Нил, ты можешь попробовать экранирование знака процента.
попробовать IF %%ERRORLEVEL%% GEQ ...
Я только что столкнулся с этой проблемой и ценю ответ @John.
вот что я придумал:
robocopy [from] [to] /MIR
REM http://ss64.com/nt/robocopy-exit.html
IF %%ERRORLEVEL%% EQU 0 (
ECHO No errors occurred, and no copying was done; The source and destination directory trees are completely synchronized.
EXIT 0
)
IF %%ERRORLEVEL%% EQU 1 (
ECHO One or more files were copied successfully, new files have arrived.
EXIT 0
)
IF %%ERRORLEVEL%% EQU 2 (
ECHO Some Extra files or directories were detected. No files were copied.
EXIT 0
)
IF %%ERRORLEVEL%% GEQ 3 (
ECHO Robocopy Exit Codes: http://ss64.com/nt/robocopy-exit.html
EXIT %%ERRORLEVEL%%
)