需要帮助将ssis软件包构建和部署到Integration Services目录

时间:2019-06-12 13:35:11

标签: ssis azure-devops etl

我关注了这个关于在Devops上构建SSI项目的有趣帖子。

构建工作正常,但我还需要将ispac文件部署到本地Integration Services目录或Azure SQL DB集成目录上。

可以在Azure Devops上的PowerShell任务中使用ssisbuild工具,并且构建正常。但是当我尝试使用ssisdeploy时遇到了问题。

这是我的代码(我使用nuget任务下载SSISBuild,以便可以在构建和部署时运行。在下面可以看到我的代码。实际上,由于我只有一个SSIS项目,因此不需要查找所有ispac文件。希望任何人都可以在这里帮助我

关于盖尔

Get-ChildItem -Filter *.ispac -Recurse | Where-Object { -Not ($_.FullName -match "obj") } | ForEach-Object {
  &"$($env:BUILD_SOURCESDIRECTORY)\SSISBuild.2.3.0\tools\ssisdeploy" $_.FullName -Catalog SSISDB -Folder Test -ProjectName Testproject 

  if ($LASTEXITCODE -ne 0) {
    throw "Build failed.";
  }
}

2 个答案:

答案 0 :(得分:1)

我通常在SSMS上按照以下步骤在服务器上部署和计划我的SSIS包:

1.在Integration Services目录中创建目录。
2.右键单击此新目录,并在其中创建一个新文件夹
enter image description here


3.创建文件夹后,将自动创建两个子文件夹(项目和环境)。
enter image description here
现在,右键单击Project文件夹并向其中添加一个项目(从文件系统目录)。

  1. 此后,您可以使用SQL Server-Agent添加新作业并使用上面添加的目录
    enter image description here
    enter image description here

答案 1 :(得分:0)

要进行部署,您需要更多值,例如服务器,用户名,密码等。 看看https://www.nuget.org/packages/SSISBuild/#

A command line utility that deploys an SSIS deployment package to an SSIS catalog.
句法:

ssisdeploy [Ispac文件] -ServerInstance -目录-文件夹 -ProjectName [-ProjectPassword ] [-EraseSensitiveInfo]

开关:

Ispac文件: SSIS部署文件的完整路径(带有ispac扩展名)。如果未指定部署文件,ssisdeploy会在当前工作目录中搜索具有ispac扩展名的文件并使用该文件。

-ServerInstance: 需要。目标SQL Server实例的全名。

-目录: 目标服务器上的SSIS目录的名称。如果未提供,则使用SSISDB值。

-文件夹: 需要。目标目录中的部署文件夹。

-ProjectName: 目标文件夹中的项目名称。如果未提供,则使用部署文件名。

-ProjectPassword: 用于解密敏感数据以进行部署的密码。

-EraseSensitiveInfo: 从部署ispac中删除所有敏感信息并分别部署所有敏感参数的选项。如果未指定,则不会删除敏感数据。

例:

ssisdeploy.exe sample.ispac -ServerInstance dbserver \ instance -Catalog SSISDB -Folder SampleFolder -ProjectName Sample -ProjectPassword xyz -EraseSensitiveI