CI/CD
大约 2 分钟...
持续集成 Continuous Integration (CI)、持续交付 Continuous Delivery(CD)、持续部署 continuous deployment(CD)是用来让开发人员更加关注于业务开发,自动化研发流程,提高研发效率
- CI 持续集成 - 开发者尽量时时刻刻合并开发分支至主干分支。避免直到发布日才开始合并,掉入集成地狱。无论何时新分支集成至项目,持续集成可以自动化测试持续验证应用是否正常
- CD 持续交付 - 持续交付是持续集成的扩展,可以保证稳定的发布产品新特性。这意味着基于自动化测试,你可以也可以一键自动化发布。理论上,持续交付可以决定是按天,按周,按双周发布产品。如果确实希望能够享受持续交付的好处,那么应该尽快发布到新产品中。一旦出现问题时能尽早排除
- CD 持续部署 - 持续部署是持续交付的下一步。通过这一步,每个新特性都自动的部署到产品中。但是如果出现未通过的测试用例将会终止自动部署。持续部署可以加速用户反馈新特性,避免发布日带来的压力。开发可以着力于开发系统,开发结束后几分钟就可以触达到用户
Github actions
Github actions 是 Github 2019 年发布的一个 CI/CD 工具,持续集成有很多操作组成,Github 将这些操作称之为 actions,这是一些基本概念
- workflow - 持续集成运行一次的流程
- job - 一个 workflow 由一个或多个 job 组成
- step - 每个 job 运行的具体步骤
- action - 每个 step 可以依次执行的一个或多个命令
要想配置工作流,必须将一个 workflow 文件放到项目的.github/workflow
中,采用 YAML 格式,后缀名为.yml
,可以有多个 YAML 文件,Github 一旦发现就会自动执行该文件中的内容