【发布时间】:2013-11-05 00:19:25
【问题描述】:
我使用TeamCity 进行持续集成,使用Octopus Deploy 进行持续部署。
在 TeamCity 中,我有一个项目,我使用 Octopus Deploy 的 OctoPack 构建并打包该项目。目前定义了三种构建配置:
- 构建、测试、打包
- 部署到 CI
- 部署到 QA
对于第一个配置中的OctoPack配置,包版本是通过内部版本号生成的:
OctoPack package version: 1.0.0.%build.number%
如果Build, Test, Package 成功构建,则部署到 CI 会启动 Octopus Deploy 发布。 Octopus Deploy 在创建发布时使用 NuGet 版本号作为发布版本号。所以对于 build #400,我有一个 My.Project.1.0.0.400.nupkg NuGet 包,它作为版本 1.0.0.400 发布。
在Deploy to QA 步骤中,我需要能够将与特定Deploy to CI 构建相关的版本从我的CI 环境提升到我的QA 环境。
本质上,我希望能够拥有这种依赖树:
Build, Test, Package
|-- #401 SUCCESS
|-- #400 FAILURE
|-- #399 FAILURE
|-- #398 SUCCESS
/ #391-397 FAILURE
|-- #390 SUCCESS
Deploy to CI
|-- #100 SUCCESS (Depends Build, Test, Package #401)
|-- #99 SUCCESS (Depends Build, Test, Package #398)
|-- #98 SUCCESS (Depends Build, Test, Package #390)
Deploy to QA
|-- #10 SUCCESS (Depends Deploy to CI #100)
|-- #9 SUCCESS (Depends Deploy to CI #98)
在 Octopus 中,我会看到以下内容:
Release
|-- 1.0.0.100 CI, QA
|-- 1.0.0.99 CI
|-- 1.0.0.98 CI, QA
如何传递特定版本号以升级到 TeamCity 中的给定环境?
【问题讨论】:
标签: continuous-integration teamcity continuous-deployment octopus-deploy