【发布时间】:2018-10-31 05:22:26
【问题描述】:
我的 azure-pipelines.yml 中有以下内容
jobs:
- job: TestifFolder1Exists
pool:
vmImage: 'ubuntu-16.04'
steps:
- bash: git log -1 --name-only | grep -c Folder1
failOnStderr: false
- job: Folder1DoesntExist
pool:
vmImage: 'ubuntu-16.04'
dependsOn: TestifFolder1Exists
condition: failed()
- job: Folder1DoesExist
pool:
vmImage: 'ubuntu-16.04'
dependsOn: TestifFolder1Exists
condition: succeeded()
我正在尝试测试一个文件夹是否进行了更改,以便我可以从该目录发布工件。
我遇到的问题是,如果文件夹中没有写入任何内容,则脚本将失败并显示
Bash exited with code '1'.(这就是我想要的),这反过来又会导致整个构建失败。
如果我添加continueOnError,则以下作业始终运行成功的作业。
我怎样才能让这项工作失败,而不会使整个构建失败?
【问题讨论】:
-
我不确定您要实现的目标是否有意义。基本上,您需要一个条件,并且您试图以失败的方式模拟该条件……这可能不是一个好主意?为什么不捕获脚本中的错误并将一些数据输出到管道中的作业并根据传递的数据值做出决定?
-
这就是我目前想要做的——我的想法是,如果你可以测试一个工作状态,那不应该产生一个失败的构建
-
这个特定的问题似乎是做作的,并不完全有意义,但能够忽略工作失败的原则是完全有用的。
-
这能回答你的问题吗? Continue Azure Pipeline on failed task
标签: azure azure-devops