代码之家  ›  专栏  ›  技术社区  ›  Mike Bailey

在TeamCity中推广特定的OctopusDeploy版本

  •  2
  • Mike Bailey  · 技术社区  · 11 年前

    我正在使用 TeamCity 用于持续集成和 Octopus Deploy 用于连续部署。

    在TeamCity,我有一个项目,我使用Octopus Deploy构建并打包 OctoPack 。目前定义了三种构建配置:

    1. 构建、测试、打包
    2. 部署到CI
    3. 部署到QA

    对于第一个配置中的OctopPack配置,包版本通过内部版本号生成:

    OctoPack package version: 1.0.0.%build.number%
    

    如果出现以下情况,则部署到CI会启动Octopus deploy发布 Build, Test, Package 成功生成。Octopus Deploy在创建发布时使用NuGet版本号作为发布版本号。所以对于#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)
    

    在章鱼中,我会看到以下内容:

    Release
    |-- 1.0.0.100 CI, QA
    |-- 1.0.0.99  CI
    |-- 1.0.0.98  CI, QA
    

    如何传递特定的版本号以推广到TeamCity中的特定环境?

    1 回复  |  直到 11 年前
        1
  •  3
  •   Mike Bailey    11 年前

    当我进入各种构建配置的构建步骤时,我意识到可以引用依赖构建配置的财产。

    对于上面的例子,我有以下配置和id:

    Build, Test, Package - btp1
    Deploy to CI - dtc1
    Deploy to QA - dtq1
    

    在我的 Build, Test Package 构建配置我配置了 OctoPack 版本号为:

    %MajorVersion%.%MinorVersion%.%build.vcs.number%.%build.number%
    

    然后在Deploy配置中,我将版本号更改为:

    Deploy to CI - %MajorVersion%.%MinorVersion%.%dep.btp1.build.vcs.number%.%dep.btp1.build.number%
    Deploy to QA - %MajorVersion%.%MinorVersion%.%dep.btp1.build.vcs.number%.%dep.btp1.build.number%
    

    通过这样做,我能够参考以前版本的版本号,以促进从一个环境到另一个环境的正确发布。