为Octopus Deploy和Azure云服务生成nuget-packages

时间:2015-02-18 18:46:28

标签: azure-web-roles octopus-deploy

我已经尝试了一周的时间将webrole部署到Azure Clous Services,而没有完全实现。

这是我的设置:

我已经获得了云计算和云计算以及MVC应用程序(标准版尚未对模板进行更改)。它在Visual Studio Online中的源代码控制下。 我使用octopack尝试生成nuget包 我在八达通的nuget repo中使用了buildt Octopus服务器和触角托管在天蓝色的VM上 我已为部署步骤创建了一个步骤模板(请参阅此article

我的计划:

我希望将CI构建到开发服务和单独构建,以便将我的项目推送到临时环境,并使用Octopus将其滚动到生产环境中。

我的问题: Octopack生产的软件包似乎不包含它们应该包含的内容。我已经尝试使用我的webrole中包含的nuspec文件,以使其正确。我尝试的任何一种方式都会遗漏一些东西。 有没有人得到这个工作?我很欣赏任何指示我正确方向的提示,因为我已经慢慢耗尽了想法。因此,我转向你的同事,为了得到一些急需的帮助。

此致 ZiGGstern

1 个答案:

答案 0 :(得分:0)

如果我错了,请纠正我,但看起来就像您需要octo.exe在Visual Studio / TFS Online中构建到目标环境后自动部署。 我试图关注这个陈述:

  

我希望将一个CI构建到开发服务和单独的构建   将我的项目推送到暂存环境并将其滚动到   使用八达通的生产环境。

您可以使用" Post-Deploy脚本路径"在您的构建模板中进行配置。一个PowerShell脚本,用于调用Octo.exe(带有API密钥)并为您所需的环境启动部署。如果您愿意,可以根据构建自定义此项。我通过在我的解决方案的根目录中创建一个文件夹来使用此方法(我称之为“工具”,但名称并不重要)。在该Tools文件夹中,我添加了PowerShell脚本和octo.exe。 PS脚本会触发Octo.exe,它会调用我的Octopus服务器并使用" create release"选项,我能够在TFS中完成构建后自动部署到任何环境。确保始终包含这些文件(右键单击VS并在文件属性中选择“始终复制'”。

我不太确定为什么你的NuGet包没有正确配置,但应该先解决。你的问题是试图要求两件事,而且不清楚哪件对你更重要; NuGet包或从CI构建部署。话虽如此,我认为您需要提供更多详细信息,说明为什么您认为您的NuGet包不足或无法正常运行Azure服务。

请注意,您提供的网站使用的是步骤模板形式的自定义PowerShell脚本。最好使用自定义脚本在之前使用Octopus中的默认Azure步骤。只是一个想法。

在此处详细了解Octo.exe:http://docs.octopusdeploy.com/pages/viewpage.action?pageId=360596