快速部署
Reviewbot 提供以下两种方式访问GitHub:
- GitHub App 方式 (推荐)
- Access Token 方式
Reviewbot推荐使用GitHub App的方式进行集成,这样能更加方便的无缝代码管理流程中。本文按照GitHub App的方式进行集成
准备
在集成部署之前,我们要先了解Reviewbot需要用到的一些配置参数和配置文件。
名称 | 是否必须 | 用途 | 获取方式 |
---|---|---|---|
ssh-secret | 必须 | 用来 拉取待检查代码 | 本地生成ssh_key私钥,公钥添加到对应GitHub账号 |
access-token | 必须 | 用来触发使用相关GitHub API | GitHub账号setting中获取 |
app-id | 必须 | GitHub API使用 | GitHub App中获取 |
github-app-secret | 必须 | GitHub API使用 | 创建GitHub App时设置Private Key时生成, |
webhook-secret | 非必须 | 验证Webhook请求的有效性 | 保持跟GitHub Webhook的设置保持一致,如果GitHub上没有设置就不用配置 |
其他:
名称 | 是否必须 | 用户 | 获取方式 |
---|---|---|---|
config | 非必须 | Reviewbot配置文件 | 在没有配置的情况下,会使用系统默认配置。配置方式参看config/config.yaml |
golangci-config | 非必须 | golang语言静态检查配置 | 在没有配置的情况下,会使用系统默认配置。配置方式参看config/linters-config/.golangci.yml |
javapmdruleconfig | 非必须 | java pmd 检查规则 | 在没有配置的情况下,会使用系统默认配置。配置方式参看 BestPractices |
javastylecheckruleconfig | 非必须 | java style check 规则 | 在没有配置的情况下,会使用系统默认配置。配置方式参看sun_style |
安装Reviewbot服务
Reviewbot的安装是支持多种方式的,支持在物理机,虚拟机,容器上安装,因为其中还会涉及到运行环境的安装,推荐使用工程中的Dockerfile
进行容器化的安装,步骤如下。
构建镜像
- 使编译Reviewbot文件,使用
make all
或者CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build .
- 构建镜像:
docker build -t reviewbot-customimageid .
- tag镜像:
docker tag reviewbot-customimageid:latest your_dockerimage_repo/reviewbot-customimageid:latest
- 推送镜像:
docker push your_dockerimage_repo/reviewbot-customimageid:latest
部署镜像
Docker 部署可以使用k8s进行部署,也可以在一台安装了docker的机器上进行部署。
- k8s部署(推荐):
在k8s 上创建configmap,将对应的配置设置到configmap中。
- 创建config
kubectl create configmap cm-reviewbot --from-file=config=/Users/mac/Documents/project/reviewbot/deploy/config -n reviewbot