Gradle Depite命令退出任务不在容器管道中的Devops管道中结束

Gradle Depite命令退出任务不在容器管道中的Devops管道中结束,gradle,azure-devops,azure-pipelines,azure-pipelines-build-task,Gradle,Azure Devops,Azure Pipelines,Azure Pipelines Build Task,我在Azure Devops上的Windows容器管道上有一个命令行任务。尽管脚本的最后一行被激发了 EXIT /B 1 日志结果是 ##[error]Cmd.exe exited with code '1'. 任务不会结束,只会运行到默认超时60分钟(可以更改)问题是bat文件以前在脚本中启动了守护进程。在我的例子中,它运行的是Gradle构建。Gradle会自动启动一个守护进程来加速任何后续构建。如果容器化作业上Azure管道中的cmd任务启动的bat脚本启动后台服务,则任务不会结束 G

我在Azure Devops上的Windows容器管道上有一个命令行任务。尽管脚本的最后一行被激发了

EXIT /B 1
日志结果是

##[error]Cmd.exe exited with code '1'.

任务不会结束,只会运行到默认超时60分钟(可以更改)

问题是bat文件以前在脚本中启动了守护进程。在我的例子中,它运行的是Gradle构建。Gradle会自动启动一个守护进程来加速任何后续构建。如果容器化作业上Azure管道中的cmd任务启动的bat脚本启动后台服务,则任务不会结束

Gradle的解决方案是在运行构建之前在脚本中包含以下行

set GRADLE_OPTS=%GRADLE_OPTS% -Dorg.gradle.daemon=false

感谢您在此处共享您的解决方案,您可以接受它作为答案,这样它可以帮助其他遇到相同问题的社区成员,我们可以存档此线程,谢谢。@HughLin MSFT是否应将此报告为Azure Devops上的错误?非容器化的构建管道可以很好地处理这个问题,但docker不能。任务应该结束,因为脚本结束并返回错误\u级别,所以在容器被终止时,后台任务将终止。如果我的管道正在构建更多的Gradle构建,那将非常有用。