持续集成

作者:王蒙
标签:持续集成,CI, Travis, Jenkins
简介:介绍为什么做持续集成,持续集成集成的工具。

目标读者

Python 开发

预备知识

版本管理,测试

问题

  • 为什么要做持续集成

  • 怎么做持续集成

    • Travis
    • Jenkins
    • Teamcity

解决办法

为什么要做持续集成

软件工程中共性的问题:版本控制,测试,部署。 持续集成指的是自动化的机制使得团队中每个人的分支可以安全地(一般是通过尽可能多的测试来保证安全)合并到 develop, master分支。

怎么做持续集成

总体来说,持续集成:
  • 提供现成的执行环境(一般称为 Agent)。
  • 用户配置触发规则,让版本控制系统(比如 git) 的操作(一般是 push 和 merge request)能触发脚本在执行环境中执行。
  • 具体触发什么操作,可能需要开发者定义,一般是 Build(构建代码), Test(测试), Deploy(打包发布到 repository 中)。

持续集成工具

  • Travis : 开源项目一般采用 Travis 做持续集成,因为有免费的 Travis 持续集成服务可用,其他比如 Jenkins,Teamcity 都需要自己搭持续集成的服务。

  • Jenkins:

    • Jenkinsfile
    • 在 Jenkins 页面,配置 Pipeline, 指明使用 Jenkinsfile, 指明 Trigger 机制。
    • 配置 gitlab/github 的 Webhook, settings -> Merge request settings 配置。
  • Teamcity: 对于 Teamcity ,我就在 youtube 上看过 9 个视频,知之甚少。