如何使用 `extends` 和 `gitlab-runner exec`
How to use `extends` with `gitlab-runner exec`
我有一个 .gitlab-ci.yaml
和 extends
指令,它在 gitlab-ci 上工作,但我不能用 gitlab-runner exec
测试它,它看起来像extends
被 gitlab-runner
忽略。
我有两个文件,例如:
# .2extend.yml
.job2extend:
image: some/docker/img
stage: test
script:
- echo do things with "${myvar}"
和
# .gitlab-ci.yml
include:
- project: 'project/to/extend'
ref: master
file: '.2extend.yml'
myjob:
extends: .job2extend
variables:
myvar: 'My Variable'
这是我遇到的错误:
$ gitlab-runner exec docker myjob
Runtime platform arch=amd64 os=linux pid=29785 revision=45d9c1d6 version=12.4.0~beta.1935.g45d9c1d6
FATAL: missing 'script' for job
我要扩展的工作有 script
和 image
指令。
我来到了this issue,和我有同样的问题
所以,在问题没有解决的情况下,有解决办法吗?
我想这是因为项目的 .gitlab-ci.yml 文件在根级别没有脚本块(例如这样)
# .gitlab-ci.yml
include:
- project: 'project/to/extend'
ref: master
file: '.2extend.yml'
myjob:
extends: .job2extend
variables:
myvar: 'My Variable'
script:
- myjob
似乎gitlab-runner exec
有一些限制,在使用这个功能之前请检查Limitations of gitlab-runner exec
如您目前所见,extends
未在 table 中列出。
我有一个 .gitlab-ci.yaml
和 extends
指令,它在 gitlab-ci 上工作,但我不能用 gitlab-runner exec
测试它,它看起来像extends
被 gitlab-runner
忽略。
我有两个文件,例如:
# .2extend.yml
.job2extend:
image: some/docker/img
stage: test
script:
- echo do things with "${myvar}"
和
# .gitlab-ci.yml
include:
- project: 'project/to/extend'
ref: master
file: '.2extend.yml'
myjob:
extends: .job2extend
variables:
myvar: 'My Variable'
这是我遇到的错误:
$ gitlab-runner exec docker myjob
Runtime platform arch=amd64 os=linux pid=29785 revision=45d9c1d6 version=12.4.0~beta.1935.g45d9c1d6
FATAL: missing 'script' for job
我要扩展的工作有 script
和 image
指令。
我来到了this issue,和我有同样的问题
所以,在问题没有解决的情况下,有解决办法吗?
我想这是因为项目的 .gitlab-ci.yml 文件在根级别没有脚本块(例如这样)
# .gitlab-ci.yml
include:
- project: 'project/to/extend'
ref: master
file: '.2extend.yml'
myjob:
extends: .job2extend
variables:
myvar: 'My Variable'
script:
- myjob
似乎gitlab-runner exec
有一些限制,在使用这个功能之前请检查Limitations of gitlab-runner exec
如您目前所见,extends
未在 table 中列出。