我使用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 版本号作为发布版本号。因此,对于构建 #400,我有一个My.Project.1.0.0.400.nupkg
NuGet 包,它作为 version 发布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 中的给定环境?