最近小编成为了deepin开源社区的实习生,了解到了deepin社区持续集成的工作流程,和大家分享一下。
deepin开源地址:https://github.com/linuxdeepin
首先要理解持续集成的概念,持续集成就是由很多操作组成。比如程序打包,程序构建、单元测试等,拿deepin开源社区的工作流程举例
上图工作流程 是从build到cppcheck,流程并不固定。
持续集成的思想就是一个自动化的过程,监测一个或多个源代码仓库是否有变更,当检测到符合触发条件时就会执行流程。该流程是可重复的。
持续集成检测变更一般通过轮询检测、定期检测、推送检测这几种方式。
代码的托管平台是github。所以就通过使用github的actions实现持续集成。
actions几个基本的概念
workflow(工作流程):持续集成一次运行的过程,就是一个workflow
job(任务):一个workflow由一个或多个jobs构成,含义是一次持续集成的运行,可以完成多个任务。
step(步骤):每个job由多个step构成,一步步完成。
action(动作):每个step可以依次执行一个或多个命令(action)
这是github actions的官网有兴趣可以去看看:https://docs.github.com/cn/actions
github actions的原理就是在项目的.github目录下创建workflows文件夹,通过.yml文件进行流程配置。
拿call-build-deb.yml举例
name:github仓库Actions选项卡中的工作流程名称
on:工作流程触发器
concurrency: 使用并发确保一次只运行同一并发组的单个作业或工作流
jobs:工作流程中运行的所有作业组合在一起
这是actions语法介绍有兴趣可以去读一下:https://docs.github.com/cn/actions/using-workflows/workflow-syntax-for-github-actions