Rainbond文档中心
整合 Git 仓库快速部署组件 编辑此页面

本文档适合同时使用 Rainbond、GitLab 体系企业的 应用运维人员 阅读。

本文档适合的场景是:通过演示用例,了解 rainbond 如何和 GitLab 进行OAuth 对接,并实现对 GitLab 中项目的快速部署和利用 Webhook 实现自动构建

前提条件

  • 已有的 GItLab 私有仓库,若还未部署,可参考下文 GitLab 快速部署一节进行部署

操作步骤

通过共享库一键安装的方式,可以将 GitLab 直接部署到你的 Rainbond 环境中。

GitLab 快速部署

  • 安装 GitLab 应用

image-20200515143803028

  • 运行效果

image-20200515164633334

对接 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 | apiread_userread_repository | GitLab的权限设置,需要开启 apiread_userread_repository |

  • Rainbond 平台认证

进入 Rainbond 首页企业视图 → 设置 → OAuth 互联服务 → 查看设置 → 添加

| 选项名 | 填写内容 | 说明 | | ———— | ———————– | ——————————– | | OAuth类型 | gitlab | 认证的 Oauth 类型 | | OAuth类型 | 自定义(GitLab-Demo) | 填写自定义的 Oauth 服务名称 | | 服务地址 | http://rainbond.gitlab/ | GitLab 服务访问地址 | | 客户端ID | 依据具体信息填写 | GitLab 生成的 Application ID | | 客户端密钥 | 依据具体信息填写 | GitLab 生成的 Application Secret | | 平台访问域名 | 使用默认填写内容 | 用于OAuth认证完回跳时的访问地址 |

  • OAuth 认证

进入 Rainbond 首页企业视图 → 个人中心 → OAuth 账户绑定 → 对应账号 → 去认证

对接 GitLab 仓库并完成自动构建

  • 创建 GitLab 项目,内容如下

image-20200518113119649

  • 使用私有化部署 Rainbond 时,需配置 GItLab 允许向本地网络发送 Webhook 请求

进入 Admin area → settings → NetWork → Outbound requests

勾选 Allow requests to the local network from hooks and services 选项即可

  • 通过 Rainbond 进行源码构建

进入 Rainbond 团队视图 → 新增 → 基于源码创建组件 → 对应 Gitlab 项目 → 对应源码项目 → 创建组件

image-20200518112657470

进入构建页面,选择配置

image-20200519142235426

访问效果展示

image-20200518114603719

  • Webhook 自动构建展示

修改 GitLab rainbond-test 项目的 index.html 文件,提交时 Commit 信息添加关键字 @deploy

image-20200518132824057

自动更新效果展示

image-20200518133118625

访问效果展示

image-20200518132745969