2012-04-23 3 views
1

Кто-нибудь это сделал? Если да, то какие инструменты/методы/подходы вы использовали?Составление проектов SSIS с Team City

Можно ли установить версию SQL Business Studio Visual Studio?

Заранее благодарен!

+0

Без сомнения, я ошибаюсь, но единственный бит кода, который будет скомпилирован/построен в пакете SSIS, - это задача Script? Доступно ли это программно? Если нет, то я думаю, что компилировать нечего. Вы хотите, чтобы вы запускали пакет как часть процесса сборки? Вы можете выполнить сценарий выполнения пакета с помощью команды 'dtexec'. – booyaa

ответ

1

Понял люди ...

1) Установить MSBuild Extensions

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 так, чтобы оно указывало на путь, в котором происходит компиляция.

+0

так приятно видеть, что файлы настроек proj включены, thx! – BozoJoe

1

Как и Booyaa, проекты SSIS не нужно компилировать, но то, что я сделал, делает .dtconfigs настраиваемым процессом сборки/развертывания.

Я делаю это так, чтобы я мог запускать пакеты при развертывании в разных средах. Таким образом, сборка скопирует шаблон файла dtconfig. содержит токены- $(Servername) $(ConnectionString) И затем я делаю замену при развертывании, а затем выполняю, обертывая dtexec в команде.

Не уверен, 2012.

Смежные вопросы