如何在 Gitlab 中基于管道变量运行作业?
Posted
技术标签:
【中文标题】如何在 Gitlab 中基于管道变量运行作业?【英文标题】:How to run a job on the basis of pipeline variables in Gitlab? 【发布时间】:2021-12-08 08:19:23 【问题描述】:我正在尝试对一些管道变量执行作业。我在 .gitlab-ci.yml 文件中使用了“规则”,但收到错误“密钥可能无法与 '规则'一起使用:仅”。 我该怎么做?
build-dev:
stage: build
only:
- master
- branches
rules:
- if: '$CI_COMMIT_BRANCH=="my-featured-branch"'
when : never
【问题讨论】:
最好包含一个精简的.gitlab-ci.yml
和完整的错误消息。我是否正确理解您,您只想在设置了某些变量的情况下才包含某个作业?
是的,你没看错
【参考方案1】:
您收到的错误字面意思是:您不应该在同一个工作中同时使用only
和rules
。
基本上原因是这可能会由于混合行为而导致问题。
来自文档:
rules
替换only
/except
,它们不能在同一个作业中一起使用。如果您将一项作业配置为同时使用两个关键字,GitLab 会返回 key may not be used with rules 错误。
【讨论】:
以上是关于如何在 Gitlab 中基于管道变量运行作业?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 GitLab CI 的管道中将变量的值从一个作业传递到下一个作业?