Azure Release Pipelines:从 PowerShell Task 启动应用程序并在多个阶段保持 运行

Azure Release Pipelines: Start application from PowerShell Task and keep it running over multiple stages

在 DevOps 中,我有一个包含 3 个阶段(初始化环境、测试和清理)的发布管道。在第一阶段,我使用一个简单的 PowerShell 任务,它在我的本地代理 运行ning 所在的同一设备上启动一个应用程序。此应用程序必须 运行 直到管道完成,因为我也需要从其他阶段访问它。但是当第一阶段完成时它会自动关闭。我无法阻止它关闭,我不明白它为什么关闭。 当我在本地 PowerShell 上调用此命令时,启动的应用程序保持 运行ning,即使我关闭 PowerShell window?!

这是我的任务:

睡眠命令只是为了确保应用程序真正启动。没有睡眠它太快了,你看不到应用程序启动。

所以我的问题是:如何在管道完成之前保留应用程序 运行ning?或者如何防止它在第一阶段完成后自动关闭?我是否错过了管道设置或代理中的设置?

不,你不能那样做。原因很简单:

不能保证作业之间使用同一个代理。代理可以 运行 并行并同时跨越许多不同的机器。即使您可以按照您的要求去做,您要做的是设计一个无法横向扩展或并行化的流程。