简体   繁体   English

将SSIS(.ispac)包装到NuGet提要中(Azure工件)

[英]Packaging SSIS (.ispac) into NuGet Feed (Azure Artifacts)

I have to connect Octopus-Deploy to an external feed located on a Azure Devops Artifact Feed. 我必须将Octopus-Deploy连接到位于Azure Devops Artifact Feed上的外部Feed。 I've successfully connected to the feed, but seeing how I packaged my SSIS project (.ispac) and SSDB project (.dacpac) as .dacpac and .ispac, it won't find them as it expects them to be in .NuGet format. 我已经成功连接到提要,但是看到如何将我的SSIS项目(.ispac)和SSDB项目(.dacpac)打包为.dacpac和.ispac,它找不到它们,因为它希望它们位于.NuGet中格式。

I haven't been able to try much as I'm pretty stuck. 由于卡住,我无法尝试太多。

N/A N / A

I'm constrained to put whatever type of package I make on this feed to connect to from Octopus and deploy from. 我必须将我制作的任何类型的程序包放在此饲料上,以从Octopus连接并从中进行部署。 I have to have either have all my packages be NuGet Packages or find and alternate way that Octopus Deploy can find my packages on the Azure External Feed w/out them being NuGet. 我必须将我的所有程序包都设置为NuGet程序包,或者找到另一种方式,即章鱼部署可以在Azure外部Feed上找到我的程序包,而无需使用NuGet程序包。 I'm only deploying SSDT things: ie dacpac, ispac, sql-agents, sql scripts etc. 我只部署SSDT东西:即dacpac,ispac,sql-agents,sql脚本等。

You can make a NuSpec file which contains the things you need to package into NuGet to use a NuGet external feed in Octopus with. 您可以制作一个NuSpec文件,其中包含将其打包到NuGet中才能在Octopus中使用NuGet外部供稿的内容。 In the case of SSIS, you will want to reference the .ispac file in your nuspec file like so: 对于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>

} }

You'll then do a "build" pipeline in DevOps which builds your solution. 然后,您将在DevOps中创建一个“构建”管道来构建您的解决方案。 In the case of ispac you will need to use SSIS Build (you can get it from the market place). 对于ispac,您将需要使用SSIS Build(可以从市场上购买)。

Upon building the solution so that the latest .ispac is formed, you then use NuGet pack pointed to your .nuspec file like so: 在构建解决方案以形成最新的.ispac之后,您可以使用指向.nuspec文件的NuGet包,如下所示:

{ {

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

} }

Then you can do a "NuGet push" to your Artifact feed in azure. 然后,您可以对天蓝色的Artifact Feed进行“ NuGet推送”。 From which Octopus will be able to connect using "external NuGet feed" which will allow you to using "Deploy Package" from the Octopus Process options from which you can point to your specific artifact using it's name and a post-deployment powershell script will allow you to deploy to your sql server. 章鱼将可以使用“外部NuGet提要”从中进行连接,这将使您能够使用章鱼进程选项中的“部署程序包”,从中可以使用章鱼的名称指向您的特定工件,并且部署后的Powershell脚本将允许您部署到您的SQL Server。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM