Azure devops 内部条件为bash表达式的Azure管道
如何在这种情况下使用bash脚本Azure devops 内部条件为bash表达式的Azure管道,azure-devops,yaml,azure-pipelines,Azure Devops,Yaml,Azure Pipelines,如何在这种情况下使用bash脚本 - bash: export PYTHONPATH="src/" condition: succeeded(fileExists('./src/')) displayName: Add src/ Path if Exists 条件:成功(fileExists('./src/'))这似乎不起作用,下面显示了以下错误消息: ##[error]Unrecognized value: 'fileExists'. 条件不是这样的,您可以在那里检查变量值 因此,
- bash: export PYTHONPATH="src/"
condition: succeeded(fileExists('./src/'))
displayName: Add src/ Path if Exists
条件:成功(fileExists('./src/'))
这似乎不起作用,下面显示了以下错误消息:
##[error]Unrecognized value: 'fileExists'.
条件不是这样的,您可以在那里检查变量值 因此,如果要检查文件是否存在,则需要添加另一个脚本任务来检查文件是否存在,如果存在,则设置一个变量,而不是在条件中使用此变量 大概是这样的:
- 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'))
条件不是这样的,您可以在那里检查变量值 因此,如果要检查文件是否存在,则需要添加另一个脚本任务来检查文件是否存在,如果存在,则设置一个变量,而不是在条件中使用此变量 大概是这样的:
- 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'))
我同意谢基的回答。到目前为止,azure devops只能在条件下支持use variable,而其中很少支持。但它不包含fileExists。你们需要把它和变量联系起来,然后你们才能成功地在条件下应用。我同意Shayki的答案。到目前为止,azure devops只能在条件下支持use variable,而其中很少支持。但它不包含fileExists。您需要使其与变量关联,然后才能成功地在条件中应用。似乎它未创建的fileExist变量,
求值:和(succeed(),eq(变量['fileExist'],'true'))展开:和(true,eq(Null,'true'))结果:False
@SLN检查中的代码是否正在运行,在那里添加echo
。我认为每个bash都会创建一个新会话,当bash任务完成时,会话将关闭,变量不再存在似乎它没有创建的fileExist变量,evaluation:and(succeed(),eq(variables['fileExist'],'true'))展开:和(true,eq(Null,'true'))结果:False
@SLN检查中的代码是否正在运行,如果正在运行,则在那里添加echo
。我认为每个bash都会创建一个新会话,当bash任务完成时,会话关闭,变量不再存在