我目前正在开展一个相当大的项目,其团队分布在美国各地。开发人员定期向源存储库提交代码。我们有以下应用程序构建(全部由应用程序管理,无需手动处理):
每个构建都会刷新与之关联的数据库。这会清理数据并验证随新代码一起提交的任何数据库更改。我从测试人员那里听到的一个问题是,我们需要使用一些预期的测试数据预先填充每周构建数据库,而不是更通用的数据开发人员合作。这似乎是一个合理的关注/需要,也是我们正在努力的事情。
我正在抛弃我们正在做的事情,看看SO社区是否与我们正在做的事情有任何差距,或者有任何疑虑。事情似乎运作良好,但它感觉更好。你的想法?
答案 0 :(得分:1)
这就是我们这样做的方式。 测试人员自己的数据库只能按需重置。如果我们每周自动刷新一次,那么
的问候,
斯泰恩
答案 1 :(得分:1)
接下来的另一个步骤是,一旦发布构建通过了测试(比如冒烟测试),那么它就被认定为一个良好的构建(比如一个黄金构建),并且你使用某种标记机制来标记所有的文物(代码,安装脚本,makefile,可安装等)进入黄金映像的创建。黄金版本可能会在以后成为候选版本。
可能你已经这样做了,因为你没有提到我添加了我观察到的内容。
答案 2 :(得分:0)
我认为您有一个良好,全面的流程,只要它适合客户想要查看更新的时间。我可以看到的一个可能的差距是,您似乎无法在不到一周的时间内将关键客户错误修复投入生产,因为您的测试版本是每周一次,然后您需要时间让测试人员验证修复。
如果你想以不同的方式思考问题,请看continuous deployment上的这篇文章 - 一开始可能有点难以接受这个概念,但它肯定有一些潜力。