首页 文章

使用git分支进行持续集成

提问于
浏览
1

对于每个故事,我们在Git中使用分支 . 这在本地工作很好但在最终确定功能时会出现问题,因为我们(当前)只将主控推送到我们的测试环境(IIS) . 请注意,我们在TFS旁边使用Git,因为TFS仍然是我们的主要VCS .

我们正在使用TeamCity来构建我们所有的分支机构 . 如何在不污染主分支的情况下测试和检查测试机器上的代码?为每个分支创建多个IIS应用程序?这可能是自动化的,但似乎是人为的 .

为了澄清,我们需要能够在我们的测试环境中同时测试不同的版本 .

3 回答

  • 0

    总而言之,我在IIS中创建了几个应用程序,一个用于团队中的每个开发人员(开发和测试),然后仅用于测试目的的3个插槽 .

    在teamcity中,我们每次对每个分支都进行构建运行,但是 do not 会自动部署 . 原因是我们允许拉动我们的构建但不强制升级 .

    当完成功能分支上的所有开发工作后,我们将合并到主服务器中,然后立即与TFS同步,以便我们的主分支同步 . 这允许我们将每个变更集的每个功能合并到下一个阶段 .

  • 1

    我想你正在寻找 --dry-run 开关:

    -n, - dr-run执行除实际发送更新之外的所有内容 .

    git push --dry-run ...
    
  • 0

    请注意,拥有相同应用程序的多个测试版本可能会让人感到困惑!

    您可以采用类似GitHub Flow的内容:

    • 每个功能一个分支

    • 完成此功能后,将其部署到测试环境

    • 如果一切正常,您可以将该功能合并到master

    如果这对您来说不是一个可行的解决方案,我看到的唯一选择是部署多个IIS应用程序 . 这可以使用像WebDeploy这样的工具相对容易地完成,但是您必须考虑删除过时的Web应用程序"clean-up policy" .

相关问题