Skip to content

yisar/juvenile

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Juvenile

动机

很久之前就想写一个 cicd 平台,主要是为了方便自己开发

  1. dark release

所谓的 dark release,简单理解是不区分环境,但区分版本

不区分测试环境和生产环境,所有的更新都上生产,但是区分版本

比如 app 版本,我们这次更新上 app 2.0 的版本,但不上 1.0 的版本 比如 k8s 的机器,我们这次上的是 A 机器,但不上 B 机器

同时配合灰度,我们上 2.0 版本,上 10%,我们上 A 机器,上 20%

也就是说,dark release 不再强制区分环境,随之而来的概念是灰度控制

  1. 直接支持 github action 的 yml

这就意味着可以直接复用很多现成的 actions,也算是提供了一种拓展性,以便实现一些特殊功能

比如小程序的发布,客户端的分流发布,甚至可以在脚本里做权限的审核,等等

以上,这是我对 cicd 平台的思考,1. 环境 => 灰度 2. gitlab.yml => github.action

总体架构

其实很简单,主要是两个 channel

channel A 负责并发执行任务,channel B 负责 SSE 往 client 传输日志,剩下的就是 curd 操作了

About

Simple CICD

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors