Azure Devops 构建管道上的数据库项目失败

Posted

技术标签:

【中文标题】Azure Devops 构建管道上的数据库项目失败【英文标题】:Database Project failing on Azure Dev Ops build pipeline 【发布时间】:2019-03-05 22:20:20 【问题描述】:

将客户端旧的 win 表单应用程序引入我们的开发生态系统。部分工作是将他们的数据库置于数据库项目的源代码控制之下。

当我在本地构建时(VS 2017) - 我收到一堆警告,一些存储的过程/函数引用了不存在的对象。

例如:

Warning:  SQL71502: Procedure: [dbo].[proc_WORKORDERDETAILUpdate] has an unresolved reference to object [dbo].[WORKORDERDETAIL].[WORKERORDERNUMBER].

在这种特殊情况下 - 整个表从数据库中丢失。

数据库中存储的过程已过期。显然它们没有被使用。我现在不想解决这整个混乱。只需将应用程序和数据库置于源代码控制之下。

当我签入时 - 数据库项目的构建定义失败。我在本地收到的警告现在被视为构建服务器上的硬错误。

Error SQL71502: Procedure: [dbo].[proc_WORKORDERDETAILUpdate] has an unresolved reference to object [dbo].[WORKORDERDETAIL].[WORKERORDERNUMBER].

【问题讨论】:

【参考方案1】:

我明白了。菜鸟失误。

我没有选中调试配置的“将警告视为错误”框 - 因此我在本地很好。

我的发布(构建服务器)配置不一样。直到我查看了 project.sqlproj xml 文件才发现差异。

我把它留在这里,以防其他人遇到无法在本地复制的构建服务器问题。也许它会给他们一个指针。

【讨论】:

太棒了!感谢您在这里分享您的解决方案,您可以接受它作为答案,这样它可以帮助遇到相同问题的其他社区成员,我们可以归档这个帖子,谢谢。

以上是关于Azure Devops 构建管道上的数据库项目失败的主要内容,如果未能解决你的问题,请参考以下文章

请参阅使用 YAML 管道在 Azure DevOps 中构建工件

TFS Build 2013 避免代码分析

如何使用 TFVC 使用 Yaml 创建构建管道?

Azure DevOps Build Pipeline:如何仅为更改的程序集增加程序集版本?

Azure Devops 构建管道 - 未发布文件

如何使用 Azure DevOps REST Api 编写构建计划脚本?