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

如何在GitLab CI Job脚本中执行指定分支中的shell脚本文件

GitLab CI 拉取指定分支脚本的配置方法

分两种场景处理:

场景1:Job本身就运行在脚本所在的目标分支

直接给Job添加分支限制规则即可,GitLab CI会自动拉取对应分支的全量代码,原脚本路径不需要修改:

build_job:
  stage: build
  only:
    - 目标分支名 # 替换为你存放script.sh的分支名称,如dev、feature/config
  script:
    - ./project/config/script.sh > job.yml

场景2:Job运行在其他分支,需要单独拉取目标分支的script.sh执行

需要先拉取完整仓库历史,再导出对应分支的脚本文件执行,配置如下:

build_job:
  stage: build
  variables:
    GIT_DEPTH: 0 # *必须配置*,关闭默认浅克隆,保证能访问到所有分支的内容
  script:
    # 从目标分支导出指定路径的脚本到本地
    - git show 目标分支名:project/config/script.sh > ./temp_script.sh
    # 赋予脚本执行权限
    - chmod +x ./temp_script.sh
    # 执行脚本
    - ./temp_script.sh > job.yml

注意替换配置中的「目标分支名」为实际存放script.sh的分支名称,git show命令后的文件路径要和目标分支下的script.sh实际存储路径完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 16:18:05