持续集成是测试存储库中每一个代码更改的实践。此外,构建的持续部署过程有助于按时实现Sprint目标。更快的构建可以提高整个系统的速度,并最小化集成问题。
作为结论,我们可以说构建的持续部署为开发团队和QA团队都节省了时间。
持续集成
在当今不断增长的IT行业中,需求需要频繁更新,多个开发人员必须将小而频繁的代码更改推送到存储库中。然后,有必要在每次签入时验证代码,并成功部署构建。持续集成工具有助于在早期开发阶段检测与质量相关的问题,并且开发团队在最后拥有一个经过认证的构建持续集成。
以下是为什么在项目开始前应该考虑CI的原因:
- 在现实世界中运行测试
- 提高代码覆盖率
- 自动构建生成和部署
- 快速构建以加速发布并提高生产力
- 不要破坏东西
- 减少代码检查时间
目前根据市场研究使用的CI工具
参考:https://blog.heroku.com/building-tools-for-developers-heroku-ci
CI的最佳实践
1
定期提交到主分支
通过实现CI工具,我们可以在开发期间提交和合并哪怕是很小的代码,以避免创建堆栈,并通过早期检测问题来优化开发成本。
2
构建自动化
CI不是手动生成构建,而是在每次代码签入时自动触发构建,并确认更改适合合并。
3.
测试代码变更
通过使用CI工具,我们可以自动运行一组指定的测试,并确保Dev团队提交的代码没有破坏现有的功能。这节省了我们用代码更改验证现有特性的时间。
4
建立快速
一旦CI工具检测到代码中的任何更新,它就将测试隔离到不同的机器上。因此,构建过程变得更快,消耗的能量和资源更少。
5
预生产测试
当代码准备好部署时,CI工具可以同时简化多个环境的维护。我们可以拥有类似于产品的登台环境,在此环境中,我们可以在将更改推入产品之前检查任何集成问题。
6
展示构建结果
在由构建的部署状态生成的报告的帮助下,我们可以通过参考详细的日志来决定错误的正确操作。此外,每当需要进行任何比较以检测失败原因时,我们都可以参考以前的日志。
首选基于云的CI/CD工具挖掘笔记
CircleCI
CircleCI允许工程师在容器之间分发测试,以便在干净的环境中独立地执行这些测试,而不需要安装任何额外的包
- CircleCI在Docker容器上运行,并引用YAML文件来设置测试所需的环境
- 最多一个容器的免费可用性。它是GitHub和Bitbucket友好地集成数据安全,并获得自动构建设置
- 推荐用于配置所需时间较短的快速启动项目
- https://circleci.com
特拉维斯CI
推荐使用Travis CI,因为它具有在不同环境中同时执行测试的灵活性。它支持比CircleCI更多的语言,并支持构建矩阵,这可以通过创建多个工作在CircleCI中实现
- 它与YAML配置文件一起工作,后者是面向数据的文件,包含更丰富的元数据
- 默认情况下,Travis CI运行在基于容器的虚拟化环境上
- https://travis-ci.org
提示和技巧 |
---|
在Travis CI中,YAML配置文件的名称应该以'。”即。“.travis。在CircleCI中,配置。yml文件应该放在项目存储库的.circlecI存储库中 |
所有的项目文件和文件夹都应该在Travis CI的父目录下 |
如果新构建失败,而以前的构建还在工作,那么我们需要将更新后的依赖项恢复到以前的工作版本 |
总是在配置中定义特定的图像版本。例如,- image: CircleCI/openjdk:8-jdk。这将防止构建环境自动更新或配置环境中的意外更改 |
为了节省总体构建时间,通过记住可用的资源,设置少量在后台运行的作业 |
CircleCI 2.0只允许重新执行失败的工作流作业,因此考虑重新运行这些失败的作业,以快速解决故障 |
CI的最新更新
有建议吗?
我们很乐意听取您的反馈、问题、意见和建议。这将帮助我们使我们更好,更有用的下一次。
分享你的想法和想法knowledgecenter@qasource.com