包含命令行任务的现有 azure devops 管道最近移至自托管的 Windows 代理上执行。
自从管道转移到新代理后,命令行任务总是成功。即使执行的应用程序 (.exe) 失败并返回非零退出代码。
在转向自托管 windwos 代理之前,应用程序返回的失败和退出代码在执行任务脚本后由命令行任务拾取。并且管道任务被标记为失败。
尝试对命令行任务的脚本进行以下更改,仍然没有帮助。
$(System.DefaultWorkingDirectory)/_build-artifact/application.exe
if %ERRORLEVEL% EQU 0 (
echo Success
) else (
exit /b %errorlevel%
)
任务的输出总是成功的。
<块引用>2021-07-07T00:47:45.7871339Z [00:47:45 ERR] 应用更新失败!
<块引用>2021-07-07T00:47:45.7871875Z System.Exception: 应用程序错误。
<块引用>2021-07-07T00:47:45.7978700Z 在 Application.PerformUpgrade()
<块引用>2021-07-07T00:47:46.5094316Z 成功
<块引用>2021-07-07T00:47:46.5651299Z ##[debug]退出代码:0
<块引用>2021-07-07T00:47:46.5690375Z ##[debug]离开 Invoke-VstsTool。
<块引用>2021-07-07T00:47:46.5709626Z ##[debug]离开 C:\AzureAgent\vsts-agent-win-x64-> 2.188.2_work_tasks\CmdLine_\2.182.0\cmdline.ps1.
<块引用>2021-07-07T00:47:46.5999982Z ##[section]完成:命令行:执行应用程序更新