如何在 GitLab CI 的管道中将变量的值从一个作业传递到下一个作业?

Posted

技术标签:

【中文标题】如何在 GitLab CI 的管道中将变量的值从一个作业传递到下一个作业?【英文标题】:How can I pass value of variable from one job to next job in pipeline in GitLab CI? 【发布时间】:2022-01-05 20:14:19 【问题描述】:

我是否能够将我在一项工作中创建的变量的值传递给下一项工作,以便我可以在同一阶段的下一项工作中对该值进行一些检查? 我想要第一份工作来创建一些变量,然后将值分配给该变量和下一个工作,在同一阶段检查该值?我的管道中的特定用例需要这个吗?

我正在浏览 GitLab 上的文档,但找不到任何可以帮助我解决此案例的资源?

对此的任何帮助将不胜感激。非常感谢! :)

【问题讨论】:

【参考方案1】:

是的,您可以使用dotenv 文件工件来执行此操作。您将在一个作业中创建一个文件,其中包含一组值,如下所示:

FIRST_VAR=1234
SECOND_VAR=hello_world

然后将其设置为dotenv type artifact according to the documentation,这将使下游作业设置这些变量。

【讨论】:

感谢您的回答!这个方案是否适用于同阶段的工作? 感谢您的帮助,我能够按照您的指示解决我遇到的问题,而且我能够将它重构为更少的阶段,这很棒! :) 完美!如果它解决了您的问题,请不要忘记接受答案:) 完成,干杯:)

以上是关于如何在 GitLab CI 的管道中将变量的值从一个作业传递到下一个作业?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 gitlab CI 管道中推送到仓库?

如何能够将变量传递给 gitlab ci 管道中的规则?

如何在 Gitlab 中基于管道变量运行作业?

在 Gitlab CI/CD 管道脚本中使用 shell 变量?

如何在 Vue JS 中将更新的值从父组件发送到子组件?

GitLab CI 使用 API 获取预定义变量?