teamcity octopus deploy使用相同的项目名称处理多个代码分支(默认和开发)

sol*_*dev 7 mercurial nuget teamcity-7.0 octopus-deploy

所以目前teamcity正在观看并使用AssemblyInfoPatcher插件构建一个mercurial develop分支,并且Project.Website.2.xxxnupkg出现在工件中,而章鱼正在将其部署到暂存环境中.很棒的东西.

现在我只是试图了解如何设置章鱼部署以处理现在部署到生产的默认分支.

我已经设置了teamcity来从默认分支生成Project.Website.1.xxxnupkg但是章鱼如何知道哪个包是来自develop分支的分段构建,哪个是默认分支的生产,除了它们具有的版本号之外与Project.Website中相同的项目名称?

目前,我有一个临时环境,暂存角色和暂存项目组.我只需要为生产创建一个新的组环境和角色,如果是这样,章鱼如何知道如何做到这一点?

这两个工具都是令人敬畏的工具包,我相信我现在已经非常接近了.任何帮助将非常感谢.

小智 3

您需要在 Octopus Deploy 中设置生产环境。

假设:

  • 您在 Octopus 中的生产环境名为 Production
  • 您在 TeamCity 的命令行构建步骤中使用 octo.exe 来创建和部署版本。

您可以使用--deploytoocto.exe 的选项来指定将新创建的版本部署到的环境。像这样的东西:

octo create-release --server=http://your-octopus/api --project=Project.Website --version=%build.number% --packageVersion=%build.number% --deployto=Production

该命令将:

  • 使用您的 TeamCity 内部版本号作为版本创建发行版
  • 使用您的 TeamCity 内部版本号作为所有包的包版本
  • 将版本部署到生产环境

提示:有时,TeamCity 需要几秒钟才能将工件发布到其 NuGet 源中。如果您的 octo 命令尝试使用尚未发布的软件包版本创建版本,则该命令(和构建步骤)将失败。在运行 octo.exe 命令之前,我在脚本中进行 30 秒的“睡眠”构建,以确保构建服务器有时间发布包的当前版本。