【发布时间】:2021-07-07 10:15:40
【问题描述】:
我有一个启动任务的简单 yaml 脚本:
trigger:
branches:
include:
- '*'
tags:
include:
- '*'
jobs:
- job: Linux
pool:
name: BuildMachineUbuntu
steps:
- checkout: self
clean: false
- task: CmdLine@1
inputs:
filename: 'CI_Build_Linux.sh'
CI_Build_Linux.sh 是一个非常简单的脚本:
test_str=$'hello\rworld'
echo "$test_str"
exit 0
现在我预计结果会是日志刚刚打印出world。但是它会打印 2 行:hello 和 world。
所以正如标题所说,如何在 Azure 中进行 CR?
我想使用它,因为我想打印进度,但不是垃圾日志,SetProgress 不是我想要的。
编辑: 在使用 system.debug 为 Bash 和 CmdLine 运行它之后,我添加了输出
来自 Bash 的输出: https://pastebin.com/YHwdHq1k
CmdLine 的输出: https://pastebin.com/Mv33GKSk
【问题讨论】:
-
您是否尝试在 Bash 任务而不是 CmdLine 任务中运行此脚本?当然,这并不重要,因为 CmdLine 会使用基于代理操作系统的相应 shell,但只是想知道。
-
嗨@TomasBerger,我可以重现这个问题,我们可以将变量system.debug设置为true来检查详细日志,然后我们可以看到bash.exe路径,你可以在本地运行它并输入脚本,然后再次检查。谢谢
-
@VitoLiu-MSFT 我现在已将带有“system.debug”的日志输出添加为 true。如果我在本地运行脚本,它可以工作。我正在运行 Ubuntu,所以没有
exe。 -
嗨@TomasBerger,我已经更新了答案并添加了反馈票。
-
嗨@TomasBerger,我收到了项目组的回复,我已经更新了答案,你可以查看update2。
标签: azure azure-devops yaml