【问题标题】:SSIS 2012 Continuous Integration with TFS 2013SSIS 2012 与 TFS 2013 持续集成
【发布时间】:2014-08-14 14:04:48
【问题描述】:

我一直在阅读一些关于使用 msbuild.exe 构建和部署 SSIS 包 (.ispac) 的文章(尤其是这篇文章:http://speaksql.wordpress.com/2013/06/07/a-journey-to-db-deployment-automaton-ssis-build-using-msbuild/)。我的电脑没有问题,它有所有必需的程序集,并且只使用 msbuild.exe 命令。

当我尝试使用 TFS 构建服务器时,我遇到了一些问题。首先,我意识到不建议在 TFS 2013 中使用带有 msbuild.exe (SSIS.MSBuild.proj) 的项目,因为它与 TFS 2008 和 2010 一起使用。无论如何,我只是想让它工作,这听起来很合理,但我必须使用 TFSBuild.proj。这不是问题,但我的下一个问题是我正在使用的项目(Microsoft SQL Server 社区示例:集成服务)引用了一个未安装在我的构建服务器上的 SQL Server 程序集(Microsoft.SqlServer.ManagedDTS)。

然后我意识到,即使我设法在 gac 上安装了该程序集,或者在相对路径上引用了它,接下来我也会遇到更大的问题,我正在使用我需要使用 gacutil 安装的包上的自定义活动。 exe 在主机服务器上,我想知道如何远程安装这些 dll。

那是我开始失去信心的时候,我在这里,有没有一种“简单”的方法来实现 SSIS 包的持续集成,而无需安装第三方工具(例如http://remotegacutil.codeplex.com/),并将缺少的程序集添加到 gac构建服务器?

你们中有人遇到过类似的问题吗?你解决了吗?怎么样?

谢谢!

【问题讨论】:

    标签: tfs ssis continuous-integration tfsbuild continuous-deployment


    【解决方案1】:

    使用 devenv.exe 构建 ispac。添加一个调用流程任务并调用 devenv。

    向构建模板添加一个调用进程,上面的一个显示了一个序列容器,它分配了正确版本的 DeVenv 调用的路径,VS2010 /12 /13 等。这显示为硬编码,但可以放入到一个参数中,因此它可以填充到单独的构建定义中。你看不清楚的是“C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.com”

    接下来是调用进程,它调用指定的 devenv.exe 并传递用于构建 ISPAC 文件的参数。

    在 localProject 中传递的参数将为您提供您想要在以前的版本中构建的实际项目,由于新模板的更改,您可能需要为 2013 年做一些不同的事情。

    这提供了一种 TFS2012 方法,正如我所说,您可能需要做一些不同的事情才能获得您想要在 2013 下构建的项目,但构建将运行并生成一个 .ISPAC 文件。

    此时我将使用 powershell 部署 ISPAC,您可能需要向 powershell 调用添加额外的脚本来处理创建 SSIS 目录和调度作业。

    使用 Powershell 进行部署可以在这里找到Deploying ISPAC's with Powershell

    【讨论】:

    • 除非我弄错了,否则这并不能回答我关于在 gac 上远程安装自定义任务的问题。但它可能会回答我关于 ManagedDTS 程序集的问题。我想我需要一个 2010 版本的 Visual Studio,它不会也不会安装在构建服务器上。
    • 您能否详细说明use devenv.exe 以帮助未来的读者准确了解他们将如何使用它来创建ispac。目前,您的回答是评论
    • 扩展了如何从构建模板调用 devenv 的描述
    • @El Barto 为什么不在构建服务器上安装 vs?
    • 感谢有关如何调用 devenv 的详细信息。我仍然不知道如何在 gac 上管理我的自定义任务的远程安装。我无法安装 vs 仅仅是因为我现在工作的地方他们看不到必须在仅用于构建的机器上安装额外的 vs 的意义。此外,它工作得很好,直到 ssis 进来。我不知道微软什么时候能赶上 ssis……
    猜你喜欢
    • 2014-04-24
    • 1970-01-01
    • 2013-02-26
    • 2017-06-30
    • 1970-01-01
    • 2023-04-03
    • 2013-10-17
    • 2017-01-09
    • 2018-04-10
    相关资源
    最近更新 更多