我正在寻找一种在自定义条件下查找变量的最佳方法是null。
我试图比较null。但是,如果我这样配置,Azure Pipeline会抱怨导致错误。
and(failed(), ne(variables['Some'], Null))
此外,此配置不会引发错误,但是,当“ Some”为null时,条件变为false。由于Null和'Null'是不同的。
and(failed(), ne(variables['Some'], 'Null'))
我最终想出了一种解决方法。但是,这不是很酷的方法。我添加PowerShell任务,并创建此脚本。
if ($env:Some -eq $null) {
Write-Host "##vso[task.setvariable variable=SkipSome]True"
}
然后配置自定义条件
and(failed(), ne(variables['SkipSome'], 'True'))
我希望没有Powershell,有一种方法可以与null进行比较。但是,我在官方文档中找不到它。
答案 0 :(得分:0)
如何在Azure Pipeline中针对自定义条件处理Null?
要在自定义条件下处理Null,我们应使用''
而不是Null
或'Null'
。
您可以检查String以获得一些详细信息。
因此,您可以按以下方式进行配置:
and(failed(), ne(variables['Some'], ''))
为了更直观地进行测试,我将ne
更改为eq
:
and(failed(), eq(variables['Some'], ''))
然后,在“变量”选项卡上将变量设置为空,并添加具有上述条件的Inline powershell任务:
在日志中,我们可以看到任务已执行:
希望这会有所帮助。