1. 1代码提交/自动构建

1.1. 代码自动打包

1.1.1. 原因说明

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

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

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

1.1.2. 手动处理

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

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

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

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

1.1.3. 自动处理

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

1.1.4. 模块范围

当前涉及到的模块如下:
perl
python3
mysql
install-cache
dev-cache
book
trouble-ticketing
jumpserver
Copyright 2020 - 2020. all right reserved,powered by Gitbook该文件修订时间: 2024-03-10 12:41:21

results matching ""

    No results matching ""