TronCode Tron CLI GitLab 集成

概述

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 executordocker executor(使用 ubuntu/debian 镜像)
  • 磁盘空间:Tron 二进制文件约 50MB,安装目录需有足够空间
  • 权限:Runner 用户需要有写入 ~/.local/bin/usr/local/bin 的权限
💡
性能优化

建议将 Tron 二进制文件缓存到 GitLab CI/CD Cache 中,避免每次 Job 都重新下载,可显著减少 Pipeline 运行时间。