文档中心 > 聚石塔

持续集成(CI)使用手册

更新时间:2023/04/18 访问次数:5931

一、前言


为进一步提升用户的应用交付效率,聚石塔推出了持续集成能力;从用户的代码源开始,用户手动触发构建,系统自动帮助用户构建并产出代码包,构建完成后,用户直接提交发布单即可,免去了之前用户通过线下方式手工打包、然后上传代码包的过程,主要流程如下图:


image


二、前置条件


1. 目前支持java+maven、php、python、nginx等技术体系,如有其他语言需求,请联系@岭锋;

2. 目前支持git仓库,如果使用的是github、云效codeup、gitlab、gogs等,则是天然支持的(安全方面,聚石塔会根据用户提供的git token访问,聚石塔保障用户的token及源代码不会从聚石塔发生泄漏);如果是自建的git仓库,则需要仓库提供公网访问能力。

 

三、使用步骤

1. 创建应用


目前支持代码包方式的持续集成,因此,【部署方式】请选择“代码包上传”。


image

 

2. 创建环境


image

 

环境配置时,请勾选“使用持续集成”,并填写“代码源信息”以及“构建信息”。

仓库地址:请填写http协议的地址。

用户名:并非创建token时的token名称,而是你的实际用户名称。


image


1)设置代码拉取凭证

代码拉取凭证(token)是拉取git源代码的访问令牌token,具体参见下方链接。

 

注意:聚石塔持续集成填写的用户名并非创建token时的token名称,而是你的实际用户账号。

获取github访问令牌

获取gitlab访问令牌

获取gogs访问令牌

获取云效codeup访问令牌

 

2)设置构建信息

 

① java + maven

构建命令:如【mvn -B clean package -DskipTests=true】

构建物的路径:此处指的是最终的构建产出物(一般为.jar或者.war),且路径为相对工程根路径的相对路径(此处注意为相对路径,前面不需要加/),如target/artifactName.jar ; 如果你的工程是maven多module模式(如下图所示),则构建产出物路径则需要加上maven module,如本示例中则应该为(template-web/target/web.jar),artifactName为用户在项目中指定的构建物名称,请自行替换;


image


注意:如果你的工程是微服务架构,工程依赖了其他工程的jar包,并且你依赖的jar包是放在公司自有的maven仓库中的,则需要:

i)你公司的maven仓库可以公网访问;

ii)将你的maven settings.xml放在工程的根目录下(如上图所示);

此时构建命令参考:【mvn clean -B package -DskipTests=true --settings settings.xml】

 

ps:如果工程中依赖了-snapshot的jar包,并且构建时出现未下载最新版本而导致编译报错(这种情况本地构建有时候也是会出现的),则需要加上"-U"命令。


-U,  --update-snapshots   通过远程仓库强制检查缺失的release包 并 更新snapshots包


mvn clean -B -U package -DskipTests=true --settings settings.xml

 

 

② php、python、nginx等无需编译的语言


image


构建物的路径:此处指的需要打包的目录,路径为相对git工程根路径的相对路径(此处注意为相对路径,前面需要加/);"."代表打包根目录下所有文件和目录,一般情况下填写"."即可,如只需打包git根目录下某个目录,则填写该目录名称即可(再次强调:路径为相对git工程根路径的相对路径(此处注意为相对路径,前面不需要加/));

 

3. 发布


image

 

进入发布页面后,点击“重新构建”即可发起一次全新的代码构建;

对于maven构建,第一次构建会有点慢,因为需要下载依赖包,聚石塔会对依赖包进行缓存加速,之后的构建会复用缓存构建,则会快很多


image

 

构建过程中,可通过“构建日志”按钮,查看构建过程中的日志。


image

 

image

 

构建完成后,“部署”阶段,下方会出现“新建发布单”按钮,点击创建新的发布单。


image


image

 

“部署”阶段,发布过程中,可点击“发布详情”按钮查看发布单的详细信息。


image

 

发布完成。


image

 

至此,已经通过聚石塔持续集成将git代码发布成功了;如代码更新后需再次发布,点击“重新构建”即可重新发布。

 

四、常见问题


1. Could not find artifact 构建时无法下载依赖的其他工程的二方包。

如果你的工程是微服务架构,工程依赖了其他工程的jar包,并且你依赖的jar包是放在公司自有的maven仓库中的,则需要:

1)你公司的maven仓库可以公网访问;

2)将你的maven settings.xml放在工程的根目录下(如下图所示);

此时构建命令参考:mvn clean package -DskipTests=true --settings settings.xml


image

 

2. 编译报错,下载的依赖jar包不是最新版本。

如果工程中依赖了-snapshot的jar包,并且构建时未下载最新版本而导致编译报错(这种情况本地构建有时候也是会出现的),则需要加上"-U"命令。


-U,  --update-snapshots   通过远程仓库强制检查缺失的release包 并 更新snapshots包


mvn clean -B -U package -DskipTests=true --settings settings.xml

 


FAQ

关于此文档暂时还没有FAQ
返回
顶部