gpt4 book ai didi

azure-devops - dotnet run 命令卡在 azure 管道中

转载 作者:行者123 更新时间:2023-12-04 12:57:47 25 4
gpt4 key购买 nike

我正在尝试在 azure 管道中运行 cypress 测试。为此,我需要在运行测试之前运行“dotnet run”。我有一个成功运行“dotnet run”命令的管道任务,但由于它永远不会退出,管道永远不会进入下一个任务。有没有办法使用 YAML 使管道作业进入下一步,同时保持“dotnet run”命令运行?
如果这是不可能的,有没有办法在 Azure 管道中运行 cypress 测试时在后台运行“dotnet run”?
这是我的 YAML 代码的一部分:

- task: DotNetCoreCLI@2
displayName: 'dotnet run'
inputs:
command: run
projects: Api/Api.csproj
arguments: '--configuration Release --verbosity normal'

- script: 'npx cypress verify' // pipeline job never gets to this step
displayName: 'Verify Cypress Can Run'
failOnStderr: true

最佳答案

除非当前任务已完成其工作,否则 Azure Devops 任务不会导航到下一个任务。
dotnet run任务正在运行一个 xx.exe/api/... 继续运行并且不会停止,您的任务将卡在那里是预期的行为。

Is there a way using YAML to make the pipeline job go to the next stepwhile keeping the 'dotnet run' command running?


作为一种解决方法,您可以使用 cmd 任务来运行该命令。与其在CMD任务中直接调用命令,不如调用CMD任务打开 新 session 运行 dotnet run命令。这样作业将转到下一个作业和 dotnet run命令可以在后台继续运行。
trigger:
- master

pool:
name: default

steps:
- script: 'start cmd.exe /c dotnet run WpfCore.csproj'
displayName: 'Open new Session to run dotnet run'

- script: 'TaskList'
displayName: 'List running tasks to check if the WpfCore.exe keeps running'
enter image description here
注:
由于我用于测试的项目是带有一个计时器的 Wpf 应用程序,因此我必须使用带有 interactive mode 的自托管代理.如果在使用 Microsoft 托管代理时上述解决方法对您不起作用,则可能需要考虑使用具有适当模式的自托管代理。 (交互或服务模式)

关于azure-devops - dotnet run 命令卡在 azure 管道中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63956422/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com