1

我很想使用 Octopus Deploy 来让我们发布到 nuget.org。我“假设”以下工作流程。

  • 捆绑要发布到 nuget.org (myapp.nupkg) 的 nuspec
  • 将上述 nupkg 与 build.ps1 脚本捆绑在一起,以供 Octopus 运行 (toPublish.nupkg)
  • 在本地部署“toPublish.nupkg”并运行 build.ps1 脚本

build.ps1 脚本将 API 发布到 nuget.org
http://www.dzone.com/articles/using-powershell-publish-nuget

这听起来是对的,还是我离谱?

如果这听起来不错,我该如何处理 nuget.org 的 API 密钥?显然我不能把它放在 Github repo 中,Octopus 有办法在 powershell 中处理变量吗?

当前版本的八达通:1.6.2.1722

4

1 回答 1

0

从理论上讲,我认为您可以仅使用 OctoPack 将 nuget 包发布到 nuget.org,因为它允许您指定 API 密钥和要推送到的 url。这就是那个 powershell 脚本正在有效地做的事情;创建 nuget 包并将它们推送到带有 API 密钥的 URL。

当然,我还假设您正在使用 TFS,所以这对我来说是一个糟糕的假设。如果您不想使用 OctoPack(或不能),您也可以使用您提供的 powershell 脚本。

然而,对于变量,Octopus 绝对可以做到这一点,但是对于 1.6 版,我不能 100% 确定变量功能的广泛性,因为我几乎没有使用 1.6 版的经验。我对2.0+更熟悉。

因此,对于 2.0+,在项目的变量选项卡中,您可以提供要在 powershell 脚本中使用的变量名称(并使用 #{ variablename } 进行引用)。在此处查看官方文档:http: //docs.octopusdeploy.com/display/OD/Variables

还要记住,在 2.0 中,有一个选项可以将变量标记为“敏感”,因此它们在 RavenDB 中被加密并隐藏起来(只有在你保存之后!)。一旦值在变量选项卡中显示为“敏感”,您将永远无法在 Octopus UI 中看到该值。同样,我认为这是 2.0+ 的功能,因此使用 1.6 可能没有此功能。

如果可能的话,我建议升级到 Octopus 的 2.0+ 版本,因为他们的路线图有大量的功能即将推出,而且速度也非常激进。

于 2014-04-30T16:25:16.613 回答