人均节约30分钟/天,团队综合研发效能提升10%+,研发管理水平迅速跃升。
通常为集群部署,亦可All in One 单机,单机K8S, 架构统一,Helm方式部署交付
构建任务及在线编辑资源用量不可控,建议分开,通过K8S Node Selector隔离主服务
随发售版自带在线API Swagger Doc,所有海量API全部开放,所有API全部需要使用token,所有token全部可追溯到人。
模式①将文件包推送到目标主机,按照设置的模板自动化执行任务,模板中支持脚本。模式②链接到目标主机,单纯执行任务,不推送制品包。一个主机集群配置一个Agent即可;简单云<---> Agent--其他主机。
K8S管理:基于ServerAPI,提供有限的图形界面配置。K8S部署:基于Agent,支持yaml、helm部署;支持集群更多原生操作。
计算资源:用于流水线、代码扫描、接口和性能测试等简单云的任务;部署系统内的资源:用于运行用户开发完毕后,部署到服务器的程序;内置K8S集群:即安装简单云所在的K8S集群中的剩余计算资源(通常指该集群中的构建任务Node);单机版禁用内置K8S资源,否则可能会导致单机资源耗尽,系统崩溃!使用外挂的计算资源。
代码评审:代码推送到服务端分支或者从服务器A分支合入B分支要经过评审;目标分支是保护分支时才必须经过评审才能合入;DCR(Direct code review):客户端push自动生成评审、对于非保护分支可以-o dcr参数强制生成;MR:Merge request,就是业界普通的代码评审;评审合入规则:有人批准且无人反对;默认只有维护者及以上权限才能批准保护分支的评审。
解耦是软件工程的重要目标;分支开发是实现解耦的最重要方法(还有例如特性开关等高难度方法)。
任务是流水线的最小工作单元;每个任务由对应的插件实现功能;按是否重度消耗资源,插件分:资源消耗型(例如编译构建插件)和无资源消耗型(部署插件,调用接口);资源消耗型插件又可分为:容器类型插件(K8S或Docker模式主机)、主机类型插件(物理机虚拟机)。