1

我们使用 Bamboo 作为部署到多个环境的持续集成构建服务器。我正在通过 Bamboo NANT 脚本使用 Red Gate SQL Compare 和 Data Compare 集成 SQL 代码部署。我们的 TEST 环境是来自我们 repos 的“TEST”分支的代码,而 STAGE 环境是来自我们 repos 的“default”分支的代码。

我们的 SQL 和代码库分为单独的 Mercurial 存储库:(Project_SQL) 和 (Project)。我们对每个 repo 的承诺方式是不同的。在 Project_SQL 存储库中,开发是线性的:每个开发人员从 TEST 分支分支出来,创建一个 dev 分支 (Branch_1) 并处理他们的更改,提交到 dev 分支,然后合并 BACK 到 TEST 分支。我们只使用 TEST 分支的最新测试和工作提示从 TEST 的头部移动到默认分支。示例:如果 0、1、2、3 是提交,并且 0、1 和 3 被测试并通过。默认情况下只有 0 和 1。在项目存储库中,从默认推送到生产的最后一个标记版本的开发人员分支并创建一个开发分支(Branch_2),处理他们的更改,提交到开发分支,并将他们的更改合并到测试中。

要求是在 Bamboo 轮询间隔内,如果有代码提交 (Project),则应更新 SQL 存储库 (Project_SQL),并在编译代码和执行测试之前部署任何 SQL 更改。如果在轮询间隔只有 SQL 更改,则部署 SQL 并执行代码中的测试。

有了以下流程和要求,我的阅读建议我们可以使用 SQL 存储库作为代码的子存储库。或者我们可以有单独的计划,在 Bamboo 中设置依赖项。

推荐的方法是什么还是有更好的方法?

4

0 回答 0