创业公司技术体系建设-CI/CD

一、向研发开放CI
在公司内部,我们采用了变通的方法来实现,我们开发了一个面向研发使用的CI/CD系统,被我们称为“研发云”,其后是被包装的Jenkins。创建项目时, 由程序创建一个Jenkins Job,Jenkins Job使用一种叫做“jenkins share library”的技术,关联预定义好存放在Git上的一个Pipeline脚本。所有Jenkins Job都引用相同的构建脚本,如果需要修改构建过程,直接修改Git上的构建脚本就可以全局生效。
二、向研发开放CD
在公司内部,我们采用部署权限与Git项目权限相同的管理方法,解决上线授权的过程,简单来说,只要Git上有Owner、 Master权限就可以无需审批上线,而其他权限不可以上线,这样就避免了审批授权的问题。解决运行时环境管理问题,因为我们内部采用K8s部署应用,应用间本身就是环境隔离的,因此环境变量可以放开给研发随意设置。而系统配额则是由运维预先设置好,运行Deployment时,从数据库中读取配额生成Deployment在运行。
三、整合CI/CD
四、解决方案
尽管开源的各种CI/CD工具功能非常丰富,但整体上讲,


