You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

配置Atlantis遇「仓库未在白名单中」错误的技术求助

解决Atlantis仓库未在白名单的问题

1. 修正仓库白名单匹配格式

Atlantis针对GitLab Enterprise的仓库ID格式为[GitLab主机名]/[组名]/[仓库名],单纯使用--repo-allowlist="*"无法正确匹配私有GitLab下的仓库。将启动命令中的--repo-allowlist参数修改为:

--repo-allowlist="gitlab.private.cloud/*/*"

该配置会允许私有GitLab下所有组的所有仓库接入Atlantis。

2. 验证repos.yaml的加载有效性

启动命令中指定了--repo-config="./repos.yaml",需确保Atlantis启动时的工作目录下存在该文件:

  • 启动前执行ls ./repos.yaml确认文件存在
  • 查看Atlantis启动日志,确认是否有Loaded repo config from ./repos.yaml的日志条目
  • 若路径不正确,改为绝对路径,比如--repo-config="/home/your-user/atlantis/repos.yaml"

3. 调整repos.yaml中的仓库匹配正则

当前repos.yaml里的id: /.*/正则未匹配GitLab仓库的完整ID格式,建议修改为匹配私有GitLab的完整路径:

repos:
- id: /gitlab\.private\.cloud/.*/
  allowed_overrides: [workflow]
  pre_workflow_hooks:
    - run: "cat ~/atlantis/atlantis.yaml > atlantis.yaml"

这个正则会匹配所有来自gitlab.private.cloud的仓库。

4. 启用Debug日志排查仓库ID

启动Atlantis时添加--log-level debug参数,触发合并请求评论后,查看日志中类似Received webhook for repo id: gitlab.private.cloud/your-group/test-repo的条目,确认仓库的实际ID,再针对性调整白名单配置。

5. 检查GitLab Webhook配置(辅助验证)

确保GitLab仓库的Webhook满足以下条件:

  • URL为https://private_ip:4141/events
  • 勾选事件类型中的Merge request events
  • 密钥与启动命令中的--gitlab-webhook-secret一致
  • 测试Webhook,确认Atlantis能正常接收请求

修改配置后重启Atlantis服务,再次在合并请求中评论atlantis plan即可验证是否解决问题。

内容的提问来源于stack exchange,提问作者skkc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 13:15:33