我正在尝试编写一些gitlab CI配置,最终将使用扩展功能,我计划设置一些变量值以允许我对某些操作进行参数化。
这是一个硬编码的示例,效果很好。当某些内容更改id目录somedir / XXX时,脚本将执行并使用值XXX;一切都很好。
fixed example:
stage: build
only:
changes:
- somedir/XXX/**/*
script: echo "want to build XXX"
因此,在更改规则和脚本中有两个要参数化的地方。脚本部分按预期工作:
variable1 example:
stage: build
variables:
MODULE: "XXX"
only:
changes: somedir/XXX/**/*
script: echo "want to build $MODULE"
MODULE值被扩展,一切都很好。
现在我对this reference的阅读表明,尽管变量的通用用法是由Runner扩展它们,但它们也可以在Gitlab中使用,我希望这将在< strong>仅部分。
阅读本书
支持为作业定义的所有变量(项目/组变量,.gitlab-ci.yml中的变量,触发器中的变量,管道计划中的变量)。
我认为我可以使用类似这样的东西:
stage: build
variables:
MODULE: "XXX"
only:
changes: somedir/$MODULE/**/*
script: echo "want to build $MODULE"
但是该规则从不归档,将其切换回硬编码版本就可以了。
欢迎提供所有建议。