前面一章节咱们已经了解了Agile,CI/CD,DevOps,做为DevOps的起点,对于一个团队,如何开始本身的持续集成?根据个人经验,列出了一下须要考虑的点python
CI阶段除了保证代码没有冲突,编译经过以外,最重要的就是测试 。每次代码变动后,咱们须要自动运行测试用例。git
在初始阶段并不须要实现全部的测试类型。一开始能够以单元测试入手,随着时间扩展覆盖面。docker
并非全部的测试都是对等的,实际运行中能够作些取舍。shell
单元测试实现起来既快成本又低,由于它们主要是对小代码块进行检查。npm
UI 测试实施起来很复杂,运行起来很慢,由于它一般须要启动一个完整的环境以及多个服务来模拟浏览器或移动行为。实际状况可能但愿限制复杂的 UI 测试的数量,并依赖基础上良好的单元测试来快速构建,并尽快得到开发人员的反馈。浏览器
单元测试前期投入少,短时间内能够看到效果,对开发人员要求高;UI测试前期人员成本投入大,须要很长时间看到效果安全
推广普及CI文化服务器
1. 尽早集成。若是很长时间不合并代码,代码冲突的风险就越高,代码冲突的范围就越广。若是发现某些分支会影响已经存在的分支,须要增长发布关闭标签,避免发布时两个分支冲突。 2. 保证编译时时刻刻畅通。一旦发现任何编译问题,马上修复,不然可能会带来更多的错误。测试套件须要尽快反馈测试结果,或者优先返回短期测试(单元测试)的结果,不然开发者可能就切换回开发了。一旦编译出错,须要通知给开发者,或者更进一步给出一个 dashboard,每一个人均可以在这里查看编译结果。 3. 把测试用例归入流程的一部分。确保每一个分支都有自动化测试用例。彷佛编写测试用例拖慢了项目节奏,可是它能够减小回归时间,减小每次迭代带来的 bug。并且每次测试经过后,将会很是有信息合并到主干分支,由于新增的内容不影响之前的功能。 4. 修 bug 的时候编写测试用例。把 bug 的每一个场景都编写成测试用例,避免再次出现。 5.