下面有下面的蔚蓝管道任务片段,运行在Linux自托管代理上。
- task: DotNetCoreCLI@2
displayName: Run Dotnet Test
inputs:
command: test
#arguments: --blame-hang-timeout 2min (supported only in .net 5 and above)
projects: 'Test/UnitTests/UnitTests.csproj'
verbosityPack: detailed--如何使用sudo权限来运行?我的部分测试需要执行一些具有sudo权限的外部进程(如dmidecode等)。
我能想到的唯一方法是放弃使用DotNetCoreCLI任务,转而使用常规的CmdLine或其他bash脚本任务(实际上,这是我之前使用的方法,我只是碰巧解决了一个问题,即没有将日志输出打印到Windows主机中的控制台输出--从在脚本块内运行dotnet test切换到DotNetCoreCLI任务--并且认为这在我的Linux自助代理中也更好)。
运行管道作业的用户已经在/etc/sudoers下进行了配置(正如前面提到的,要成功运行sudo dotnet test,这是必需的)。
发布于 2022-05-05 10:38:44
因此,很明显的答案是肯定的,运行一个CmdLine任务并在那里手动运行您的dotnet命令,包括dotnet测试和前缀sudo。如前所述,这就是我一直在做的事情,我只是认为最好使用DotNetCoreCLI任务。
但是我想使用DotNetCoreCLI的主要原因是它会自动发布测试结果并将其附加到作业运行中。
我最终找到了一个解决办法:
达到相同的测试结果--工作依附行为。
https://stackoverflow.com/questions/72105436
复制相似问题