繁体   English   中英

在 gitlab-runner docker exec 中运行默认 before_script

[英]Running default before_script in gitlab-runner docker exec

我有一个想要在本地运行的 gitlab ci 配置。 我可以看到我可以在这个答案中使用gitlab-runner docker exec来做到这一点: 使用 GitLab CI 在本地运行测试? . 但是,我的 gitlab 配置使用默认的 before_script,当我使用gitlab-runner docker exec <job-id>运行作业时,默认的 before_script 不会运行。

这是一个演示该问题的示例配置

image: openjdk:8

default:
  before_script:
    - echo TEST1
    - echo TEST1
    - echo TEST1
    - echo TEST1

test:
  script:
    - echo TEST3

我可以让默认 before_script 在 gitlab 管道中运行,而不是在本地运行。 如果我使用此配置运行gitlab-runner exec docker test ,则仅打印 TEST3。 如何让默认的 before_script 运行?

gitlab-runner exec命令当前不支持default: yml 关键字: https://docs.gitlab.com/runner/commands/#limitations-of-gitlab-runner-exec 所以似乎没有办法做我想做的事情。

Gitlab 显然计划解决此问题: https://gitlab.com/gitlab-org/gitlab-runner/-/issues/2797 ,但没有给出何时/是否交付的时间表。

image: openjdk:8

stages:
  - default
  - test

default:
  before_script:
    - echo TEST1
    - echo TEST1
    - echo TEST1
    - echo TEST1

test:
  script:
    - echo TEST3

或者

before_script:
    - echo TEST1
    - echo TEST1
    - echo TEST1
    - echo TEST1

test:
  script:
    - echo TEST3

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM