内部条件为bash表达式的Azure管道

时间:2020-04-23 13:24:59

标签: azure-devops yaml azure-pipelines

如何在这种情况下使用bash脚本?

- bash: export PYTHONPATH="src/"
  condition: succeeded(fileExists('./src/'))
  displayName: Add src/ Path if Exists

condition: succeeded(fileExists('./src/'))似乎不起作用,它在下面显示了以下错误消息:

##[error]Unrecognized value: 'fileExists'.

1 个答案:

答案 0 :(得分:2)

条件不能那样工作,您可以在其中检查变量值check the docs

因此,如果要检查文件是否存在,则需要添加另一个脚本任务来检查文件是否存在(如果是,请设置一个变量),而不是在条件中使用此变量。

类似这样的东西:

- bash: |
   if [ -f /tmp/foo.txt ]; then
       echo "##vso[task.setvariable variable=fileExist]true"
   fi

- bash: export PYTHONPATH="src/"
  condition: and(succeeded(), eq(variables['fileExist'], 'true'))