背景
Rainbond 本身具有基于源码构建组件的能力,可以将多种编程语言的代码编译成 Docker 镜像,但是在持续集成的过程中,往往会需要对提交的代码进行静态检查、构建打包以及单元测试。之前由于 Rainbond 并没有 Pipeline 这种可编排的机制,所以用户往往只能通过集成外部的 CI ,如 Jenkins、Gitlab CI 等。这给开发者的使用增加了门槛。
所以为了更有效的帮助开发人员做代码测试,编译缓存,甚至代码质量分析等,结合 Rainbond 的插件体系,拓维信息基于 GitLab CI 能力实现了更加灵活,更加多样化的源码构建的功能。
流水线插件
功能
基于 Rainbond 的插件体系,拓维信息贡献的流水线插件主要功能包括以下五部分:
- 流水线管理: 开发者使用流水线模块自定义应用服务所需要的流水线,以及流水线的各个阶段
- 应用服务: 应用服务就是 Gitlab 上某一个项目的代码仓库,应用于开发, 管理代码仓库。通常对应Rainbond 中的组件,如果一个仓库下包含多个微服务,则可能对应多个 Rainbond 组件
- 代码管理: 管理代码仓库中各分支与 CI 的持续集成流程,可以查看到对应代码仓库分支的最近提交和持续集成的历史信息。
- 镜像仓库: 持续集成生成的 image 制品和版本均会在此展示,可以在这里将生成的镜像手动部署到指定环境。
- 部署历史: 镜像仓库版本部署到 Rainbond 应用下的历史记录,可以从部署详情中跳转到对应组件进行管理。
安装
流水线插件已经发布到应用市场,可通过开源应用商店一键安装。目前该插件使用需要满足以下前提条件:
- Rainbond v5.12.0 版本
- 有可用的 Gitlab 和 Gitlab Runner
Gitlab 和 Gitlab runner 也可通过开源应用商店一键安装。安装流程如下:
- 在
平台管理-应用市场-开源应用商店
中搜索Gitlab
、Gitlab runner
一键安装并进行配置; - 在
平台管理-应用市场-开源应用商店
中搜索Pipeline
一键安装;
具体配置和使用参考:Pipeline 使用文档
使用
在插件全部运行起来以后,回到团队视图进行刷新,可以看到左侧边栏有 Rainbond 流水线
选项,点击即可进入。流水线插件主要使用流程如下图所示,主要分为四步:创建流水线模版->创建应用服务->构建->部署到平台
。
创建流水线模版
用户可以在模版中定义流水线的各个阶段,默认提供了NodeJS、Java、Go、Python的流水线模版,可以在内部自定义流水线的各个阶段。
创建应用服务
在有了流水线模版之后,我们需要去创建一个应用服务。应用服务实际上是将代码仓库和流水线模版关联起来,最终实现该代码仓库的代码通过该流水线模版进行构建。
构建代码
在代码管理->分支管理
中手动触发流水线构建,构建过程可以在代码管理->持续集成
中查看。构建完成后,镜像会推送到流水线模版中定义的镜像仓库地址。可以在镜像仓库查看镜像制品。
部署业务
完成第一次构建后,可以在镜像仓库查看到镜像信息,此时选择部署,可以选择该团队下的应用,组件的名称将以应用服务的名称进行定义。部署完成后,可以在部署历史中查看到该次部署详情,点击查看详情即可跳转到对应组件进行管理,后续提交代码即可实现自动构建和部署。