我正在使用Azure DevOps SQL Server database deploy
任务通过其有效的内联SQL功能来运行SQL Server代理作业。
但是,如果作业失败,我有一些逻辑会如下所述从SQL脚本生成错误。当脚本错误时,该错误会正确显示在任务日志中,但是不会使整个任务失败,而是返回succeeded
状态。这使开发人员感到困惑,因为他们认为更改实际上并没有破坏工作。
无论如何,还是会冒起SQL脚本生成的错误,以便SQL Server database deploy
任务返回failed
状态而不是succeeded
状态。
请在下面查看该发行版的屏幕截图和YAML:
steps:
- task: SqlDacpacDeploymentOnMachineGroup@0
displayName: 'Run SQL Agent Job'
inputs:
TaskType: sqlInline
InlineSql: |
/* SQL Agent Job Logic Here... */
/* Raise error if job fails */
RAISERROR('##vso[task.logissue type=error]]%s job has either failed or is not in a good state!', 16, 1, 'JobName') WITH LOG
DatabaseName: master
AdditionalArgumentsSql: '-QueryTimeout 1800 -IncludeSqlUserErrors -OutputSqlErrors 1 -Verbose'
答案 0 :(得分:0)
Azure DevOps SQL Server数据库部署任务中的错误未使管道失败
您可以尝试使用Logging Commands从内联Sql脚本构建失败:
##vso[task.complete result=Failed;]DONE
##vso[task.complete]current operation
result=Succeeded|SucceededWithIssues|Failed
完成当前任务的时间轴记录,设置任务结果和当前时间 操作。如果未提供结果,则将结果设置为成功。例:
##vso[task.complete result=Succeeded;]DONE