Azure-基于YAML的管道中的自定义条件

Azure-基于YAML的管道中的自定义条件,azure,azure-devops,Azure,Azure Devops,我有一个基于yaml的azure CI/CT管道。我的任务定义如下: - task: PublishTestResults@2 displayName: 'Publish PCOM Test Results' condition: always() inputs: testResultsFormat: NUnit testResultsFiles: '*.xml' searchFolder: '$(Common.TestResultsDirectory)/$(

我有一个基于yaml的azure CI/CT管道。我的任务定义如下:

- task: PublishTestResults@2
  displayName: 'Publish PCOM Test Results'
  condition: always()
  inputs:
    testResultsFormat: NUnit
    testResultsFiles: '*.xml'
    searchFolder: '$(Common.TestResultsDirectory)/$(Build.SourceBranchName)/$(Build.BuildNumber)/test-results/PCOM'
    mergeTestResults: true
    testRunTitle: 'PCOM Tests'
它查找特定s3位置下的所有“*.xml”文件。但只有在以下任务成功时才会创建
xml
文件:

- bash: 'perl run_aws_cli.pl $(Build.BuildNumber) $(Build.SourceBranchName) $(s3Bucket) $(Build.SourcesDirectory)'
  workingDirectory: 'azure-pipeline/scripts'
  displayName: 'Run ECS Tasks'
因此,我需要一个自定义条件来检查后面的任务是否成功,然后只搜索目录中的
xml
文件,否则不搜索它。
当前它一直在搜索,早期任务(发布PCOM测试结果)失败。

只需对第二个任务执行
条件:成功()。仅当在此之前的所有任务都成功运行时,此操作才会运行。如果您想要更复杂的选项,请选中线程

或者,您可能可以从API获得有关构建状态的更多信息


只需在第二个任务中执行
条件:successed()
。仅当在此之前的所有任务都成功运行时,此操作才会运行。如果您想要更复杂的选项,请选中线程

或者,您可能可以从API获得有关构建状态的更多信息


在我的情况下,我的第一个任务将始终成功执行,在少数情况下,它将创建xml文件(不总是),那么,在这种情况下,如何在第二个任务中添加条件呢?在这种情况下,您需要创建一个脚本步骤,该步骤将检查它是否创建了这些文件,并分配一个变量,您可以在自定义条件中使用该变量来确定是否需要该步骤。但是,如果没有文件,那么在脚本中进行检查以不执行任何操作可能会更容易。我可以创建一个脚本来检查这些文件,并在脚本步骤中设置一些变量,这些变量可以是一个布尔值,决定是否运行下一步。如何在脚本中创建变量,并在同一阶段的不同任务中使用该变量?该链接直接指向关于修改脚本中变量的部分。只有系统变量是只读的,您不希望修改这些变量。只需打开链接并等待加载即可。我不知道你怎么能浏览那篇文章来找到你需要的信息在我的情况下,我的第一个任务总是会成功执行,在少数情况下它会创建xml文件(不总是),那么,在这种情况下,如何在第二个任务中添加条件呢?在这种情况下,您需要创建一个脚本步骤,该步骤将检查它是否创建了这些文件,并分配一个变量,您可以在自定义条件中使用该变量来确定是否需要该步骤。但是,如果没有文件,那么在脚本中进行检查以不执行任何操作可能会更容易。我可以创建一个脚本来检查这些文件,并在脚本步骤中设置一些变量,这些变量可以是一个布尔值,决定是否运行下一步。如何在脚本中创建变量,并在同一阶段的不同任务中使用该变量?该链接直接指向关于修改脚本中变量的部分。只有系统变量是只读的,您不希望修改这些变量。只需打开链接并等待加载即可。我不知道你怎么能浏览那篇文章来找到你需要的信息我怎么能在脚本中创建一个变量并在同一阶段的不同任务中使用该变量?嗨Biswajit Maharana,你有机会实现4c74356b41建议的解决方案吗?你能解决吗?@PatrickLu MSFT是的,我发现解决方案很好,如果4c74356b41的回答有帮助或给出了正确的方向。感谢您将其标记为答案。否则,请随意在此处共享您自己的解决方案,这也将帮助社区中的其他人。我如何在脚本中创建变量,并在同一阶段的不同任务中使用该变量?嗨,Biswajit Maharana,您是否有机会实现4c74356b41建议的解决方案?你能解决吗?@PatrickLu MSFT是的,我发现解决方案很好,如果4c74356b41的回答有帮助或给出了正确的方向。感谢您将其标记为答案。否则,请随意在这里分享您自己的解决方案,这也将帮助社区中的其他人。