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

GitLab CI首次运行失败:Job failed: prepare environment: exit status 1求助

GitLab CI 流水线准备环境失败(exit status 1)排查方案

核心排查方向

针对你遇到的prepare environment: exit status 1错误,重点从以下几个方向检查:

1. Runner 标签匹配问题

你的build任务指定了tags: - gitlab-server,先确认:

  • 服务器上的GitLab Runner是否配置了该标签?执行命令查看:
    sudo gitlab-runner list
    
    确保输出里的Runner标签和.gitlab-ci.yml中的完全一致(大小写敏感)。
  • 若Runner无对应标签,要么修改yaml中的标签,要么给Runner添加标签:
    sudo gitlab-runner register --tag-list "gitlab-server" --non-interactive --url <你的GitLab地址> --registration-token <你的注册令牌> --executor shell
    

2. Runner 执行权限问题

如果使用shell执行器,检查Runner运行用户的权限:

  • 默认Runner运行用户是gitlab-runner,切换到该用户测试项目目录访问权限:
    sudo su - gitlab-runner
    cd <项目克隆路径>
    ls -l
    
    若权限不足,要么调整项目目录权限,要么修改/etc/gitlab-runner/config.toml中的user字段更换运行用户。

3. Runner 基础环境问题

检查Runner所在服务器的基础依赖:

  • 确认Git已安装:
    git --version
    
    未安装则执行sudo apt install git安装。
  • 检查Runner服务状态:
    sudo systemctl status gitlab-runner
    
    服务异常则重启:
    sudo systemctl restart gitlab-runner
    

4. 查看完整流水线日志

直接进入GitLab流水线失败的任务页面,展开prepare environment阶段的所有日志输出,里面会有更具体的错误细节(如仓库克隆失败、权限拒绝等),这是定位问题最直接的方式。

临时测试方案

若以上排查无头绪,可先简化.gitlab-ci.yml,去掉标签限制用默认Runner测试:

stages:
    - build

build:
    stage: build
    script:
        - whoami
        - pwd
        - ls -l

如果简化版本能运行,说明问题出在标签匹配或指定Runner的配置上。

内容的提问来源于stack exchange,提问作者Nhật Vũ Quang

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 14:54:55