我正在使用 azure devops 开发一个简单的部署管道。我创建了一个在自托管ubuntu 部署组上运行的部署管道。管道如下所示:
dotnet MyApp.dll
前两个步骤按预期工作。但是,当dotnet My App.dll
命令运行时,该进程会运行 10 秒,并在最后打印以下“错误”消息:
The STDIO streams did not close within 10 seconds of the exit event from process '/usr/bin/bash'. This may indicate a child process inherited the STDIO streams and has not yet exited.
尽管有消息且应用程序未运行,但部署任务仍成功。我尝试通过使用nohup &
和重新定位命令输出来解决此功能。经过一些研究,我发现管道代理启动的所有进程在代理的工作完成后都会停止 - 这意味着这种行为是有意的,我对 azure 部署/代理的理解是错误的。如何使用 azure devops 管道在我自己的 ubuntu 机器上以自动化方式部署和运行我的应用程序?
如何使用 azure devops 管道在我自己的 ubuntu 机器上以自动化方式部署和运行我的应用程序?
你已经在正确的道路上。
当管道结束时,管道中启动的所有进程都将在“完成作业”步骤中完成/清理。
如果您不想关闭进程,请尝试设置变量Process.clean= false
以阻止“完成作业”步骤终止所有进程。
但是下次创建新管道时,您需要先关闭该应用程序,然后再启动它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句