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

如何在GitLab组件中添加额外的before_script命令?

GitLab组件实现before_script中间插入自定义命令的方案

你当前的伪代码没法正确展开数组类型的额外命令,GitLab CI提供了!reference指令来处理这种数组引用的场景,下面是可行的实现:

组件代码

spec:
  inputs:
    before_script_additional:
      type: array
      default: []
---
docker_compose:deploy:
  stage: deploy
  before_script:
    - echo before
    # 展开外部传入的额外命令
    - !reference [inputs.before_script_additional]
    - echo after

关键说明

  • 定义before_script_additional为数组类型输入,默认空数组,确保不传入自定义命令时也能正常执行原有流程
  • 使用!reference [inputs.before_script_additional]可以把传入的数组命令逐个展开,精准插入到原有两个命令之间

项目侧使用示例

在引用该组件的项目.gitlab-ci.yml中,这样传入自定义命令:

include:
  - component: your-namespace/your-component@latest

docker_compose:deploy:
  inputs:
    before_script_additional:
      - echo "自定义前置命令1"
      - apt-get update && apt-get install -y curl

执行时,before_script的执行顺序会是:

  1. echo before
  2. echo "自定义前置命令1"
  3. apt-get update && apt-get install -y curl
  4. echo after

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 20:34:57