Azure Pipeline 跳过失败的任务并忽略构建过程中的失败

Azure Pipeline skip failed task and ignore fail in build process

我在 Azure Pipeline 作业中有一个任务失败了。 就我而言,任务失败并不重要,所以我想知道是否有可能 跳过失败的任务并正常执行以下任务,而不会将整个作业标记为 FailedPartially Succeeded。 如果其他任务执行正确,我希望作业仍然是成功

管道是手动执行的,相关任务通过 CMD 脚本提交 git 存储库。 Job 下载存储库,重写里面的一些文件,然后提交并推送它。重写的文件最终可能会包含与以前相同的内容,因此 git 无法识别任何更改并且提交失败。

任务:

  - task: CmdLine@2
    displayName: 'Commit Repository'
    inputs:
      script: 'git commit -am "Commited by pipeline"'
      workingDirectory: '$(SYSTEM.DEFAULTWORKINGDIRECTORY)'
    continueOnError: true

错误:

On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean

##[error]Cmd.exe exited with code '1'.

我正在防止作业因 continueOnError: true 而失败,但这将作业和管道构建标记为 构建部分成功,带有橙色 !-图标。

我还尝试使用 > nul2> nul> nul 2>&1 重定向来自 CMD 的错误,但这只会隐藏错误消息,而不是错误本身。或者至少不是来自管道构建。

是否有任何方法可以从管道中“隐藏”CMD 错误,以便任务仍被标记为成功?

或者 continueOnError: true 我能做到最好吗?

感谢您的帮助

除了continueOnError: true,你可以试试returns 0:

的脚本
script: |
  git commit -am "Committed by pipeline
  exit 0

那样的话,脚本的退出状态将是0(成功),即使提交失败(因为没有什么可提交的)。