Open-C3 代码提交/自动构建

代码自动打包

原因说明

C3系统使用了多个语言进行编写,包括perl、python、golang等

在不同的部署环境下,可能会因为网络问题导致依赖的模块下载失败。

所以在C3系统中,会把perl、python等依赖的包提前打包,对于golang的程序会提前编译。
在真正发布的时候会在C3镜像中获取已提前编译好的程序和依赖包。

手动处理

在提交代码时,在commit中描述需要进行自动打包的部分,格式:c3c3bot:autopkg(模块名)。

如: 您在python3中使用了一个新的模块,在代码中您已经描述了依赖的模块和版本,
在您提交代码的时候,在commit内容中包含字符串 "c3c3bot:autopkg(python3)"

当你的代码被合并进来后,C3的自动构建程序会发现该提交是需要重新构建python3的。
C3会选择一个时间进行自动构建,保证构建出来的最新python3的时间是您这个commit的时间之后。

注:
其中c3bot:autopkg:renew指令用于重新开始计算是否需要构建模块。
模块自动更新后会生成格式如 c3c3bot:autopkg(模块名:版本号) 的提交。

自动处理

除了以上说,提交代码时在commit中描述打包指令,自动工具也会自动进行对比。
如果发现对应模块的核心文件被编辑了,也会进行自动构建。

模块范围

当前涉及到的模块如下:
perl
python3
mysql
install-cache
dev-cache
book
trouble-ticketing
jumpserver

https://github.com/open-c3/open-c3

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容