Azure Pipeline 跳过失败的任务并忽略构建过程中的失败
Azure Pipeline skip failed task and ignore fail in build process
我在 Azure Pipeline 作业中有一个任务失败了。
就我而言,任务失败并不重要,所以我想知道是否有可能
跳过失败的任务并正常执行以下任务,而不会将整个作业标记为 Failed 或 Partially 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
而失败,但这将作业和管道构建标记为 构建部分成功,带有橙色 !-图标。
我还尝试使用 > nul
、2> nul
和 > nul 2>&1
重定向来自 CMD 的错误,但这只会隐藏错误消息,而不是错误本身。或者至少不是来自管道构建。
是否有任何方法可以从管道中“隐藏”CMD 错误,以便任务仍被标记为成功?
或者 continueOnError: true
我能做到最好吗?
感谢您的帮助
除了continueOnError: true
,你可以试试returns 0:
的脚本
script: |
git commit -am "Committed by pipeline
exit 0
那样的话,脚本的退出状态将是0
(成功),即使提交失败(因为没有什么可提交的)。
我在 Azure Pipeline 作业中有一个任务失败了。 就我而言,任务失败并不重要,所以我想知道是否有可能 跳过失败的任务并正常执行以下任务,而不会将整个作业标记为 Failed 或 Partially 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
而失败,但这将作业和管道构建标记为 构建部分成功,带有橙色 !-图标。
我还尝试使用 > nul
、2> nul
和 > nul 2>&1
重定向来自 CMD 的错误,但这只会隐藏错误消息,而不是错误本身。或者至少不是来自管道构建。
是否有任何方法可以从管道中“隐藏”CMD 错误,以便任务仍被标记为成功?
或者 continueOnError: true
我能做到最好吗?
感谢您的帮助
除了continueOnError: true
,你可以试试returns 0:
script: |
git commit -am "Committed by pipeline
exit 0
那样的话,脚本的退出状态将是0
(成功),即使提交失败(因为没有什么可提交的)。