【问题标题】:TFS branching strategy with teamcity builds and octopus deploys具有 teamcity 构建和 octopus 部署的 TFS 分支策略
【发布时间】:2017-03-09 07:08:30
【问题描述】:

我们有基于 TFS 环境的分支。我们有开发主版本和修补程序。

我们的 octopus 生命周期要求代码首先部署到开发环境中,然后部署到测试环境中,然后部署到暂存环境中,然后再部署到生产环境中。

我们在 dev tfs 分支中开发,我们有一个以 Dev 分支为目标的 Teamcity 构建,然后触发 octopus deploy 以部署到开发环境中。但是一旦开发测试完成,我们需要将代码合并到 Main 分支及其来自 Main 分支的代码,我们将其部署到测试环境,然后到暂存,然后到生产。

在这种情况下如何定义构建和部署?

【问题讨论】:

  • 您的问题似乎与 TFS 不太相关。在 TFS 方面,您只需要对分支进行源代码控制,并在分支之间执行合并。您可能需要创建两个构建配置以在 TeamCity 的 Root 中指定两个 TFS 分支(dev 和 main)以满足您的要求。

标签: tfs teamcity octopus-deploy teamcity-9.0


【解决方案1】:

不幸的是,您的分支策略将意味着某些构建只会进入一个环境:

  1. 在 Dev 中编写新功能
  2. 构建 Dev 分支(工件 #1)
  3. 将 #1 部署到开发环境
  4. 合并到主目录
  5. 构建主分支(工件 #2)
  6. 将 #2 部署到测试环境
  7. 将 #2 部署到暂存环境
  8. 将 #2 部署到生产环境
  9. 分支/合并到发布分支以获得支持

所以在 Octopus 中,您需要有一个用于 Dev 的 Channel,它只允许进入 Dev 环境,默认 Channel 将从 Test->Staging->Production 进入。要支持频道,您必须区分版本号或使用 SemVer 扩展来提供帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-16
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 2011-08-08
    • 2017-10-17
    • 2016-07-07
    相关资源
    最近更新 更多