【问题标题】:Compiling SSIS Projects with Team City使用 Team City 编译 SSIS 项目
【发布时间】:2013-08-28 22:52:50
【问题描述】:

有人做过吗?如果是这样,您使用了哪些工具/技术/方法?

是否可以安装 SQL Business Studio 版本的 Visual Studio?

提前致谢!

【问题讨论】:

  • 毫无疑问我会被证明是错误的,但唯一可以在 SSIS 包中编译/构建的代码是脚本任务?这是否以编程方式可用?如果没有,那么我认为没有什么可编译的。你的意思是你想运行包作为构建过程的一部分吗?您可以使用dtexec 命令编写包的执行脚本。

标签: build ssis teamcity


【解决方案1】:

明白了……

1) 安装 MSBuild 扩展

2) 这样创建了一个 Build.Xml 文件...

<Project ToolsVersion="3.5" DefaultTargets="Default" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\ExtensionPack\MSBuild.ExtensionPack.tasks"/>
<Target Name="Default">
    <PropertyGroup>
        <OutputRoot>../../../build-artifacts</OutputRoot>
    </PropertyGroup>
    <ItemGroup>
        <SSISProjectFile Include="SSISProject.dtproj"/>
        <SSISProject Include="@(SSISProjectFile)">
            <OutputDirectory>$(OutputRoot)</OutputDirectory>
        </SSISProject>      
    </ItemGroup>
    <ItemGroup>
        <Namespaces Include="Mynamespace">
            <Prefix>DTS</Prefix>
            <Uri>www.microsoft.com/SqlServer/Dts</Uri>
        </Namespaces>
    </ItemGroup>

    <MSBuild.ExtensionPack.Xml.XmlFile 
        TaskAction="UpdateElement" 
        File="EnclarityDataImport.dtsx" 
        XPath="//DTS:Property[@DTS:Name='ConfigurationString']" 
        InnerText="$(MSBuildProjectDirectory)\EnclarityDataImport.dtsConfig"
        Namespaces="@(Namespaces)"/>
    <MSBuild.ExtensionPack.SqlServer.BuildDeploymentManifest InputProject="@(SSISProject)"/>
</Target>

唯一的技巧是这里构建的最后一部分。默认情况下,Visual Studio 将绝对路径添加到 dtsx 包的配置和连接字符串文件。 Team City 将结合使用这些与 MSBuild 扩展来构建包,因此本地路径将中断构建,因为 Team City 中构建目录的路径是自动生成的。因此,使用上面的代码和 $(MSBuildProjectDirectory),您可以调整 dtsx 文件上的路径值,使其指向正在执行编译的路径。

【讨论】:

    【解决方案2】:

    就像 booyaa 说的 SSIS 项目不需要编译,但我所做的是使 .dtconfigs 可以通过构建/部署过程进行配置。

    我这样做是为了在不同的环境中运行部署包。因此构建将复制 dtconfig 文件的模板。 这包含令牌-$(Servername) $(ConnectionString) 然后我在部署时进行替换,然后通过将 dtexec 包装在命令中来执行。

    不确定 2012 年。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-08
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多