我关注了这个关于在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.";
}
}
答案 0 :(得分:1)
我通常在SSMS上按照以下步骤在服务器上部署和计划我的SSIS包:
1.在Integration Services目录中创建目录。
2.右键单击此新目录,并在其中创建一个新文件夹
3.创建文件夹后,将自动创建两个子文件夹(项目和环境)。
现在,右键单击Project文件夹并向其中添加一个项目(从文件系统目录)。
答案 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
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