我发现在自定义条件下查找变量的最佳方法是 null。
我试图比较 null。但是,如果我这样配置,Azure Pipeline 会抱怨导致错误。
and(failed(), ne(variables['Some'], Null))
Run Code Online (Sandbox Code Playgroud)
此外,此配置不会引发错误,但是,当“Some”为空时,条件变为假。因为 Null 和 'Null' 是不同的。
and(failed(), ne(variables['Some'], 'Null'))
Run Code Online (Sandbox Code Playgroud)
我最终想出了一个解决方法。然而,这不是很酷的方式。我添加了 PowerShell 任务,并创建了这个脚本。
and(failed(), ne(variables['Some'], Null))
Run Code Online (Sandbox Code Playgroud)
然后配置自定义条件
and(failed(), ne(variables['SkipSome'], 'True'))
Run Code Online (Sandbox Code Playgroud)
我希望有一种方法可以在没有 powershell 的情况下与 null 进行比较。但是,我在官方文档中找不到它。
如何在 Azure Pipeline 中处理自定义条件的 Null?
要处理自定义条件的 Null,我们应该使用''代替Nullor'Null'。
您可以检查字符串以获取一些详细信息。
所以,你可以像下面这样配置它:
and(failed(), ne(variables['Some'], ''))
Run Code Online (Sandbox Code Playgroud)
为了更直观地测试它,我将其更改ne为eq:
and(failed(), eq(variables['Some'], ''))
Run Code Online (Sandbox Code Playgroud)
然后我在变量选项卡上设置变量为空,并添加一个具有上述条件的内联 powershell 任务:
在日志中,我们可以看到任务被执行:
希望这可以帮助。
| 归档时间: |
|
| 查看次数: |
5627 次 |
| 最近记录: |