如何使用Octopus Deploy发布到nuget.org?

时间:2014-04-26 23:17:48

标签: nuget octopus-deploy

我很想使用Octopus Deploy允许我们发布到nuget.org。我"假设"以下工作流程。

  • 将要发布的nuspec捆绑到nuget.org(myapp.nupkg)
  • 将上面的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回购中,八达通有办法处理PowerShell中的变量吗?

八达通当前版本:1.6.2.1722

1 个答案:

答案 0 :(得分:0)

理论上我认为你可以使用OctoPack将nuget包发布到nuget.org,因为它允许你指定一个API密钥和一个推送的网址。这就是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中加密并隐藏在普通视线之外(仅在您保存之后!)。一旦值在变量选项卡中为敏感',您就永远无法在八达通UI中看到该值。同样,我认为这是一个2.0+功能,所以使用1.6可能没有这个功能。

如果可能的话,我建议升级到2.0+版本的八达通,因为他们的roadmap有大量的功能出现并且也非常激进。