将 SSIS (.ispac) 打包到 NuGet Feed(Azure 工件)

Packaging SSIS (.ispac) into NuGet Feed (Azure Artifacts)

我必须将 Octopus-Deploy 连接到位于 Azure Devops Artifact Feed 上的外部源。我已成功连接到提要,但看到我如何将我的 SSIS 项目 (.ispac) 和 SSDB 项目 (.dacpac) 打包为 .dacpac 和 .ispac,它找不到它们,因为它希望它们位于 .NuGet 中格式。

由于卡住了,我没能尝试太多。

N/A

我不得不将我制作的任何类型的包放在此提要上以从 Octopus 连接并从中部署。我必须让我的所有包都成为 NuGet 包,或者找到 Octopus Deploy 可以在 Azure 外部源 w/out 上找到我的包的替代方式,它们是 NuGet。我只部署 SSDT 东西:即 dacpac、ispac、sql-代理、sql 脚本等

您可以制作一个 NuSpec 文件,其中包含您需要打包到 NuGet 中的内容,以便在 Octopus 中使用 NuGet 外部提要。对于 SSIS,您需要像这样在 nuspec 文件中引用 .ispac 文件:

{

<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
  <metadata>
    <id>SSIS.ODSToDW</id>
    <version>2.0.0</version>
    <authors>blah</authors>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>ODSToDW ispac</description>
  </metadata>
  <files>
    <file src="bin/Development/ODS-To-DW.ispac" target="ODS-To-DW.ispac" />
  </files>
</package>

}

然后您将在 DevOps 中执行一个 "build" 管道来构建您的解决方案。对于 ispac,您将需要使用 SSIS Build(您可以从市场上获取)。

在构建解决方案以形成最新的 .ispac 后,您可以使用指向 .nuspec 文件的 NuGet 包,如下所示:

{

  - task: NuGetCommand@2
inputs:
  command: 'pack'
  packagesToPack: '**/*.nuspec'
  configuration: 'Release'
  versioningScheme: 'byPrereleaseNumber'
  majorVersion: '1'
  minorVersion: '0'
  patchVersion: '2'
  packTimezone: 'local'

}

然后您可以在 Azure 中对您的 Artifact 提要执行 "NuGet push"。 Octopus 将能够使用 "external NuGet feed" 进行连接,这将允许您使用 Octopus Process 选项中的 "Deploy Package",您可以从中使用它的名称和 post- 指向您的特定工件部署 powershell 脚本将允许您部署到您的 sql 服务器。