整合 Git 仓库快速部署组件
本文档适合同时使用 Rainbond、GitLab 体系企业的 应用运维人员 阅读。
本文档适合的场景是:通过演示用例,了解 rainbond 如何和 GitLab 进行OAuth 对接,并实现对 GitLab 中项目的快速部署和利用 Webhook 实现自动构建
前提条件
- 已有的 GItLab 私有仓库,若还未部署,可参考下文 GitLab 快速部署一节进行部署
操作步骤
通过应用市场一键安装的方式,可以将 GitLab 直接部署到你的 Rainbond 环境中。
GitLab 快速部署
- 安装 GitLab 应用  
- 运行效果  
对接 GitLab 类型的 OAuth
本环节将配置 Rainbond 对接 GitLab 类型的 OAuth
- 配置 Applications - 进入 User Settings → Applications 
| 选项名 | 填写内容 | 说明 | 
|---|---|---|
| Name | Rainbond | 填写自定义的 Application 名称 | 
| Redirect URI | https://goodrain.goodrain.com/console/oauth/redirect | 回跳路径,用于接收第三方平台返回的凭证使用公有云格式为 https://xxx.goodrain.com/console/oauth/redirect使用私有化部署格式为 https://IP:7070/console/oauth/redirect | 
| Scopes | api、read_user、read_repository | GitLab的权限设置,需要开启 api、read_user、read_repository | 
- Rainbond 平台认证 - 进入 Rainbond 首页企业视图 → 设置 → OAuth 互联服务 → 查看设置 → 添加 
| 选项名 | 填写内容 | 说明 | 
|---|---|---|
| OAuth类型 | gitlab | 认证的 Oauth 类型 | 
| OAuth类型 | 自定义(GitLab-Demo) | 填写自定义的 Oauth 服务名称 | 
| 服务地址 | https://rainbond.gitlab/ | GitLab 服务访问地址 | 
| 客户端ID | 依据具体信息填写 | GitLab 生成的 Application ID | 
| 客户端密钥 | 依据具体信息填写 | GitLab 生成的 Application Secret | 
| 平台访问域名 | 使用默认填写内容 | 用于OAuth认证完回跳时的访问地址 | 
- OAuth 认证 - 进入 Rainbond 首页企业视图 → 个人中心 → OAuth 账户绑定 → 对应账号 → 去认证 
对接 GitLab 仓库并完成自动构建
- 创建 GitLab 项目,内容如下  
- 使用私有化部署 Rainbond 时,需配置 GItLab 允许向本地网络发送 Webhook 请求 - 进入 Admin area → settings → NetWork → Outbound requests - 勾选 Allow requests to the local network from hooks and services 选项即可 
- 通过 Rainbond 进行源码构建 - 进入 Rainbond 团队视图 → 新增 → 基于源码创建组件 → 对应 Gitlab 项目 → 对应源码项目 → 创建组件  - 进入构建页面,选择配置  - 访问效果展示  
- Webhook 自动构建展示 - 修改 GitLab rainbond-test 项目的 index.html 文件,提交时 Commit 信息添加关键字 @deploy  - 自动更新效果展示  - 访问效果展示 