pgi*_*erz 8 continuous-integration gitlab gitlab-ci gitlab-ci-runner
我一直在尝试更熟悉 GitLab 的 CI 功能,并发现将 CI 管道拆分为多个单独作业的想法很有趣。这将使我能够维护一个“已知工作”项目并将它们包含在其他项目中。
到目前为止,我有这样的事情:
$ ls
jobA.yaml jobB.yaml jobC.yaml jobD.yaml
Run Code Online (Sandbox Code Playgroud)
这 4 个都是相同的(目前),并且具有以下内容:
$ ls
jobA.yaml jobB.yaml jobC.yaml jobD.yaml
Run Code Online (Sandbox Code Playgroud)
在实际.gitlab-ci.yaml我想要使用的情况下,我会(我认为)放置这样的东西。在这种情况下,我将使用项目中定义的作业:
job-name:
stage: my-stage # Might be needed to differentiate later on
tags: runner-tag # used to figure out where/how the job should be done: directly on a server, in a container, etc
script:
- echo "beep beep"
Run Code Online (Sandbox Code Playgroud)
但这给了我一个 linter 错误。也许我误读了文档,但我认为这应该是可能的......
这应该是一条注释,但不能在其中放置格式化代码。
我们使用一个主 yml,它只包含所有其他的。它不像您那样使用通配符。
您是否尝试过将“文件”更改为“本地”?以“-”开头?
include:
- template: Code-Quality.gitlab-ci.yml
- local: '/.gitlab/py.yml'
- local: '/.gitlab/static.yml'
- local: '/.gitlab/lint.yml'
- local: '/.gitlab/docs.yml'
- local: '/.gitlab/publish.yml'
Run Code Online (Sandbox Code Playgroud)
根据文档,通配符包含仅适用于local. 此外,您需要将 jobA.yaml 移动到目录,否则您将.gitlab-ci.yml在顶层包含通配符。
因此,以下内容适用于配置中的 JobA.yaml:
include:
- local: 'config/*.yaml'
stages:
- my-stage
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14695 次 |
| 最近记录: |