7

目前,teamcity 正在使用 AssemblyInfoPatcher 插件监视和构建一个反复无常的开发分支,并且 Project.Website.2.xxxnupkg 出现在工件中,章鱼正在将其部署到暂存环境中。很棒的东西。

现在我只是想弄清楚如何设置章鱼部署来处理默认分支现在也部署到生产中。

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

目前我有一个登台环境、登台角色和一个登台项目组。我是否只需要为生产创建一个新的组环境和角色,如果是这样,章鱼如何知道如何做呢?

这两种工具都很棒,我相信我现在已经很接近了。

4

1 回答 1

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 秒的“睡眠”,以确保构建服务器有时间发布当前版本的包。

于 2013-02-15T22:44:54.313 回答