我正在部署来自TeamCity的Octopus Deploy的nuget软件包。我需要做的是应用配置转换并将该包内容的zip存档(Windows应用程序二进制文件)部署到触手的特定文件夹中。我甚至不需要发布包本身。有没有办法实现这个目标?
答案 0 :(得分:0)
如果我理解正确,你应该能够相当容易地实现这一点。
使用标准步骤类型部署NuGet包将nuget包安装到触手上以获得正确的环境和角色,确保启用配置变量和Xml转换 - 这将确保您的配置是毫不费力地改造了OOTB。
为了然后部署二进制文件,我会使用一些自定义PowerShell,因为它似乎不是一个"应用程序类型"八达通视为一等公民。您可以通过添加步骤类型运行PowerShell脚本并在Octopus UI中编写代码来将powershell内联编写为第二步。不知道是通过网络共享还是我没有尝试编写任何代码的任何细节。
我个人的偏好是将其写为 .nuget 包中包含的powershell脚本。 Octopus Deploy支持在 .nuget 包(PreDeploy.ps1,Deploy.ps1,PostDeploy.ps1)中找到的某些PowerShell文件的命名约定。我写了一个PostDeploy.ps1并将其打包。然后,我将该脚本置于源代码管理之下,并且可以轻松地对其进行更改。
如果您不小心,请注意,然后您开始将部署实施从Octopus移开。但是,通过仔细和一般性地编写,您可以使用变量(例如目录/网络共享的路径等)来引导脚本,这使得它可以在需要时重用,并且您可以在不同的环境中以不同的方式工作。
请原谅我的无知,如果我仍然不明白二进制文件是什么意思"采用压缩格式"
有关Octopus Deploy PowerShell Scripts
的更多详情希望得到这个帮助。
答案 1 :(得分:0)
您可以在部署步骤中添加部署后的PowerShell脚本,以便在转换配置后压缩部署文件夹的内容。