-
Notifications
You must be signed in to change notification settings - Fork 15
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
zhouxiaoliang
committed
Aug 15, 2024
1 parent
c77f421
commit 1987610
Showing
4 changed files
with
120 additions
and
97 deletions.
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
--- | ||
title: 快速部署 | ||
sidebar_position: 3 | ||
--- | ||
|
||
Reviewbot 提供以下两种方式访问GitHub: | ||
|
||
* Github APP 方式 (推荐) | ||
* Access Token 方式 | ||
|
||
ReviewBot推荐使用GitHubAPP的方式进行集成,这样能更加方便的无缝代码管理流程中。本文按照GitHubAPP的方式进行集成 | ||
|
||
### 准备 | ||
|
||
|
||
|
||
在集成部署之前,我们要先了解Reviewbot需要用到的一些参数变量。 | ||
| **名称** | **是否必须** | **途** | **获取方式** | | ||
|:------:|:----------:|:---------:|:------:| | ||
| ssh_key | 必须 | 用来 拉取待检查代码 |本地生成ssh_key私钥,公钥添加到对应github账号 | | ||
| access-token | 必须 | 用来触发使用相关githubapi |github账号setting中获取 | | ||
| githubappid | 必须 | githubapp使用 |githubapp中获取 | | ||
| githubappperm | 必须 | githhubapp使用 |创建githubapp是,设置 | | ||
| webhook-secret | 非必须 | 验证webhook请求的有效性 |保持跟github webhook的设置保持一致,如果github上没有设置就不用配置 | | ||
|
||
其他: | ||
| 名称 | 是否必须 | 用户| 获取方式 | | ||
|:------:|:-------:|:------:|:------:| | ||
| config | 非必须 | Reviewbot配置文件|在没有配置的情况下,会使用系统默认配置。配置方式参看 | | ||
| golangci-config | 非必须 | golang语言静态检查配置|在没有配置的情况下,会使用系统默认配置。配置方式参看 | | ||
| javapmdruleconfig | 非必须 | java pmd 检查规则|在没有配置的情况下,会使用系统默认配置。配置方式参看 | | ||
| javastylecheckruleconfig | 非必须 | java style check 规制|在没有配置的情况下,会使用系统默认配置。配置方式参看 | | ||
|
||
|
||
### 安装Reviewbot服务 | ||
ReviewBot的安装是支持多种方式的,支持在物理机器上安装,虚拟机上安装,容器上安装,因为其中还会涉及到运行环境的安装,本文安装推荐的docker方式进行安装。 | ||
#### 构建镜像 | ||
1. 使编译Reviewbot文件,使用 `make all` 或者 `CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build .` | ||
2. 构建镜像:docker build -t reviewbot-customimageid . | ||
3. tag镜像:构建镜像:docker build -t reviewbot-customimageid . | ||
4. 推送镜像:docker push | ||
|
||
#### 部署镜像 | ||
Docker 部署可以使用k8s进行部署,也可以在一台安装了docker的机器上进行部署。 | ||
- k8s部署(推荐): | ||
在k8s 上创建configmap,将对应的配置设置到configmap中。 | ||
启动镜像,镜像文件从configmap中读取配置 | ||
|
||
- 本地机器部署 | ||
使用docker 命令启动 编译好的docker 镜像,通过参数的方式传入必须的变量信息,ssh_key文件通过mount的方式挂载到docker。 | ||
```docker run -p 8888:8888 --mount type=bind,target=/secrets/github_key,source=/Users/mac/.ssh/id_rsa reviewbot-082 -access-token=ghp_5vV5DueL4mx0HdddyS9KsWRJvcziK2eMS -webhook-secret=9bc cf10399965ee2cbb8fddad085dfda6c1cc263 -log-level 1``` | ||
|
||
#### 设置外网映射 | ||
如果是通过githubapp的方式进行集成,需要将基本部署好的reviewbot服务,映射到外网ip或者域名上面,使github能访问到 | ||
|
||
### 创建GitHubApp | ||
1. 创建GitHubApp,在Settings 》 Developer settings》 创建一个GitHubApp | ||
2. 设置权限 | ||
* Repository permissions | ||
* Checks: Read & write | ||
* Commit statuses: Read & write | ||
* Pull requests: Read & write | ||
3. 订阅事件 | ||
订阅需要的事件 | ||
* Pull Request | ||
* Pull Request Review | ||
* Pull Request Review Comment | ||
* Pull Request Review Thread | ||
* Push | ||
* Release | ||
* Commit Comment | ||
4.设置webook地址,将设置好的外网映射地址配置在githubapp的webhoo地址中 | ||
|
||
### 触发检查 | ||
1. 在GitHub中 提交PR, 就能触发RevieBot运行,看到本次合并的增量代码代码检查结果和合并建议 | ||
![comments.png](images/comments.png)![detail.png](images/detail.png) | ||
|
||
|
||
|
This file was deleted.
Oops, something went wrong.