概述
Tron 支持深度集成到 GitLab CI/CD Pipeline 中,帮助团队实现自动化代码审查、Merge Request 描述生成和代码质量检测。通过在 .gitlab-ci.yml 中配置 Tron,每次代码推送都可以触发 AI 驱动的代码分析流程。
GitLab 的灵活 Runner 机制使得 Tron 可以在各种环境中运行,包括共享 Runner、专用 Runner 以及自托管实例。
CI Pipeline
以下是一个完整的 .gitlab-ci.yml 示例,配置 Tron 对代码变更进行自动审查:
yaml
# .gitlab-ci.yml
stages:
- review
- test
- deploy
variables:
TRON_API_KEY: $TRON_API_KEY
tron-code-review:
stage: review
image: ubuntu:22.04
before_script:
- apt-get update -qq && apt-get install -y curl git
- curl -fsSL https://upgrade.lianwo123.com/troncode/cli/install | bash
- export PATH=$PATH:$HOME/.local/bin
script:
- git fetch origin $CI_DEFAULT_BRANCH
- git diff origin/$CI_DEFAULT_BRANCH...HEAD | tron -p "审查代码变更,指出潜在问题和改进建议" > review.txt
- cat review.txt
artifacts:
paths:
- review.txt
expire_in: 1 week
only:
- merge_requests
MR 自动审查
配置在 Merge Request 事件触发时自动运行代码审查 Job,并将结果作为 MR 评论发布:
yaml
mr-review:
stage: review
image: ubuntu:22.04
before_script:
- apt-get update -qq && apt-get install -y curl git jq
- curl -fsSL https://upgrade.lianwo123.com/troncode/cli/install | bash
- export PATH=$PATH:$HOME/.local/bin
script:
- git fetch origin $CI_MERGE_REQUEST_TARGET_BRANCH_NAME
- |
REVIEW=$(git diff origin/$CI_MERGE_REQUEST_TARGET_BRANCH_NAME...HEAD \
| tron -p "对以下代码变更进行专业审查,用中文回答")
- |
curl --request POST \
--header "PRIVATE-TOKEN: $GITLAB_TOKEN" \
--header "Content-Type: application/json" \
--data "{\"body\": \"## Tron 代码审查\n\n$REVIEW\"}" \
"$CI_API_V4_URL/projects/$CI_PROJECT_ID/merge_requests/$CI_MERGE_REQUEST_IID/notes"
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
提示
需要创建一个具有 api 权限的 GitLab Personal Access Token,并将其设置为 CI/CD Variable GITLAB_TOKEN。
配置变量
在 GitLab CI/CD Variables 中设置 Tron 所需的环境变量:
1
进入项目设置
在 GitLab 项目页面,点击左侧菜单 Settings → CI/CD,展开 Variables 部分。
2
添加 TRON_API_KEY
点击 "Add variable",Key 填写 TRON_API_KEY,Value 粘贴你的 Tron API 密钥。勾选 "Mask variable" 防止密钥出现在日志中。
3
添加 GITLAB_TOKEN(可选)
如需自动发布 MR 评论,还需添加 GITLAB_TOKEN,值为具有 api 权限的 Personal Access Token。
| 变量名 | 必填 | 说明 |
|---|---|---|
TRON_API_KEY |
是 | Tron CLI 认证密钥 |
GITLAB_TOKEN |
否 | 发布 MR 评论所需的 GitLab API Token |
TRON_MODEL |
否 | 指定使用的模型,默认使用账户默认模型 |
Runner 要求
在 GitLab CI/CD 中运行 Tron 对 Runner 有以下要求:
- 网络访问:Runner 需要能够访问 TronCode API 服务器(
api.troncode.cn),以及你配置的 LLM 供应商 API 端点 - Executor 类型:推荐使用 shell executor 或 docker executor(使用 ubuntu/debian 镜像)
- 磁盘空间:Tron 二进制文件约 50MB,安装目录需有足够空间
- 权限:Runner 用户需要有写入
~/.local/bin或/usr/local/bin的权限
性能优化
建议将 Tron 二进制文件缓存到 GitLab CI/CD Cache 中,避免每次 Job 都重新下载,可显著减少 Pipeline 运行时间。