为了改进我的Gitlab CI文件的结构,我包括了一些特定的文件,例如
include:
- '/ci/config/linux.yml'
- '/ci/config/windows.yml'
# ... more includes
为了避免路径中容易出现错误的冗余,我想将其放入变量中,例如:
variables:
CI_CONFIG_DIR: '/ci/config'
include:
- '${CI_CONFIG_DIR}/linux.yml' # ERROR: "Local file `${CI_CONFIG_DIR}/linux.yml` does not exist!"
- '${CI_CONFIG_DIR}/windows.yml'
# ... more includes
,但是,这不起作用。Gitlab声称${CI_CONFIG_DIR}/linux.yml
不存在,尽管文档中说允许包含路径中的变量,请参见used.html#gitlab-ciyml-file。
还没有工作的是包含一个文件/ci/config/main.yml
,其中包括没有路径的特定配置:
# /ci/config/main.yml
include:
- 'linux.yml' # ERROR: "Local file `linux.yml` does not exist!"
- 'windows.yml'
# ... more includes
,我如何才能做到这一点,或者是否有一种选择,只在一个地方定义路径,而不会使它变得太复杂?
发布于 2021-03-23 18:21:45
目前似乎还没有实现这一点,而且目前在待办事项中有一个公开发行。
此外,由于文档中说您可以在variables
部分中使用include
,这些只用于预定义的变量。
发布于 2021-08-23 20:49:43
看看GitLab 14.2 (2021年8月)是否能帮上忙:
在..gitlab ci.yml中包含语句中使用CI/CD变量 现在可以在
include
文件中使用变量作为.gitlab-ci.yml
语句的一部分。 这些变量可以是实例、组或项目CI/CD变量。 这种改进为您定义管道提供了更大的灵活性。 您可以将相同的.gitlab-ci.yml
文件复制到多个项目,并使用变量来更改其行为。 这样可以减少.gitlab-ci.yml
文件中的重复,减少对复杂的每个项目配置的需求。
https://stackoverflow.com/questions/66752405
复制相似问题