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

如何配置.gitlab-ci.yml实现master提交时自动拉取Laravel代码到服务器

问题原因说明

你现有配置中的所有job都是用echo命令模拟执行流程,没有实际调用拉取代码的操作,所以CI任务显示执行成功但服务器代码不会更新。


前置检查项

在使用新配置前请先确认以下条件:

  • 你的GitLab Runner使用shell类型执行器
  • 运行Runner服务的gitlab-runner系统用户,对服务器上Laravel项目目录有读写权限、可执行git命令的权限
  • 已为gitlab-runner用户配置好Git仓库拉取权限(比如SSH密钥已添加到GitLab部署密钥,拉取代码无需手动输入密码)

最终.gitlab-ci.yml配置
# 仅保留需要的部署阶段,删除不需要的构建、测试阶段
stages:
  - deploy

# 自动拉取代码的部署任务
pull_latest_code:
  stage: deploy
  # 仅当向master分支推送代码时触发
  only:
    - master
  script:
    # 切换到你的Laravel项目实际存放路径,替换为你自己的路径
    - cd /www/wwwroot/your-laravel-project-path
    # 拉取master分支最新代码
    - git pull origin master
    # 可选:如果需要更新目录权限可以加这行,按需修改用户和组
    # - chown -R www:www .

常见问题排查
  • 如果任务执行提示权限不足:给gitlab-runner用户开放项目目录权限,执行命令chown -R gitlab-runner:gitlab-runner /你的项目路径,或者将gitlab-runner加入项目所属用户组
  • 如果提示拉取代码失败:切换到gitlab-runner用户(su gitlab-runner),手动执行一次git拉取命令,排查密钥配置问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 17:09:02