#ci #github #qa #app #qvet

bin+lib qvet-standalone

qvet的单个二进制文件

6个版本

0.1.5 2023年2月7日
0.1.4 2023年2月7日

#610HTTP服务器

MIT 许可证

610KB
529

qvet

快速审核您的发布以进行质量保证。

概述

qvet homepage screenshot

qvet有两个主要组件

  • web:闪亮的仪表板UI。大多数功能都在这里。
  • api:一个轻量级后端,在需要密钥的地方使用。

所有数据都存储在Github中,不需要额外的持久存储/数据库。

Github应用配置

权限

  • 提交状态:读和写
    • 读取和设置质量保证状态
  • 内容:只读
    • 读取分支、提交和标签

事件(目前不需要)

  • 创建
    • 监听新标签(发布)被创建
  • 推送
    • 监听新的提交被推送到master
  • 状态
    • 监听质量保证状态被更新

开发

以开发/热重载模式启动两个服务。分别为

  • webcd qvet-web && npm install && npm run dev
  • apicd qvet-api && cargo watch -x 'run -- --bind 0.0.0.0:3000'

注意

您需要确保https://127.0.0.1被映射到一个IPv4地址。如果不是,则Web应用程序无法正确解析API。

检查/etc/hosts中映射到localhost的任何键。

独立部署

为了方便,qvet可以作为一个单独的二进制文件运行。

Docker

为了方便,此二进制文件可用作薄Docker镜像包装器。

要构建新版本,运行./qvet-standalone/scripts/build.sh,这将生成名为qvet-standalone的镜像。

然后可以按以下方式调用

docker run -d --rm --name ci-qvet --init -e GITHUB_CLIENT_ID -e GITHUB_CLIENT_SECRET -e QVET_COOKIE_KEY -p 39106:39105 qvet-standalone --bind 0.0.0.0:39105

环境变量

环境变量 示例 目的 注意
GITHUB_CLIENT_ID Iv1.0123456789abcdef Github App 客户端 ID 必需
GITHUB_CLIENT_SECRET 随机十六进制数,40个字符 Github App 客户端密钥 必需
QVET_COOKIE_KEY 随机十六进制数,64个字符 QVET私有cookie加密 可选。如果未设置,则在运行时将生成随机密钥。

依赖项

~16-30MB
~480K SLoC