注意:以下文档只适用于TOP接口,请谨慎使用!
为进一步提升用户的应用交付效率,聚石塔推出了持续集成能力;从用户的代码源开始,用户手动触发构建,系统自动帮助用户构建并产出代码包,构建完成后,用户直接提交发布单即可,免去了之前用户通过线下方式手工打包、然后上传代码包的过程,主要流程如下图:
1. 目前支持java+maven、php、python、nginx等技术体系,如有其他语言需求,请联系@岭锋;
2. 目前支持git仓库,如果使用的是github、云效codeup、gitlab、gogs等,则是天然支持的(安全方面,聚石塔会根据用户提供的git token访问,聚石塔保障用户的token及源代码不会从聚石塔发生泄漏);如果是自建的git仓库,则需要仓库提供公网访问能力。
目前支持代码包方式的持续集成,因此,【部署方式】请选择“代码包上传”。
环境配置时,请勾选“使用持续集成”,并填写“代码源信息”以及“构建信息”。
仓库地址:请填写http协议的地址。
用户名:并非创建token时的token名称,而是你的实际用户名称。
代码拉取凭证(token)是拉取git源代码的访问令牌token,具体参见下方链接。
注意:聚石塔持续集成填写的用户名并非创建token时的token名称,而是你的实际用户账号。
构建命令:如【mvn -B clean package -DskipTests=true】
构建物的路径:此处指的是最终的构建产出物(一般为.jar或者.war),且路径为相对工程根路径的相对路径(此处注意为相对路径,前面不需要加/),如target/artifactName.jar ; 如果你的工程是maven多module模式(如下图所示),则构建产出物路径则需要加上maven module,如本示例中则应该为(template-web/target/web.jar),artifactName为用户在项目中指定的构建物名称,请自行替换;
注意:如果你的工程是微服务架构,工程依赖了其他工程的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】
构建物的路径:此处指的需要打包的目录,路径为相对git工程根路径的相对路径(此处注意为相对路径,前面不需要加/);"."代表打包根目录下所有文件和目录,一般情况下填写"."即可,如只需打包git根目录下某个目录,则填写该目录名称即可(再次强调:路径为相对git工程根路径的相对路径(此处注意为相对路径,前面不需要加/));
进入发布页面后,点击“重新构建”即可发起一次全新的代码构建;
对于maven构建,第一次构建会有点慢,因为需要下载依赖包,聚石塔会对依赖包进行缓存加速,之后的构建会复用缓存构建,则会快很多
构建过程中,可通过“构建日志”按钮,查看构建过程中的日志。
构建完成后,“部署”阶段,下方会出现“新建发布单”按钮,点击创建新的发布单。
“部署”阶段,发布过程中,可点击“发布详情”按钮查看发布单的详细信息。
发布完成。
至此,已经通过聚石塔持续集成将git代码发布成功了;如代码更新后需再次发布,点击“重新构建”即可重新发布。
如果你的工程是微服务架构,工程依赖了其他工程的jar包,并且你依赖的jar包是放在公司自有的maven仓库中的,则需要:
1)你公司的maven仓库可以公网访问;
2)将你的maven settings.xml放在工程的根目录下(如下图所示);
此时构建命令参考:【mvn clean package -DskipTests=true --settings settings.xml】
如果工程中依赖了-snapshot的jar包,并且构建时未下载最新版本而导致编译报错(这种情况本地构建有时候也是会出现的),则需要加上"-U"命令。
-U, --update-snapshots 通过远程仓库强制检查缺失的release包 并 更新snapshots包
【mvn clean -B -U package -DskipTests=true --settings settings.xml】