定义Gitlab环境

定义Gitlab环境,gitlab,gitlab-ci,gitlab-ci-runner,Gitlab,Gitlab Ci,Gitlab Ci Runner,我有一个gitlab存储库,在那里我为不同的环境分配了不同的变量。我有一个用于此存储库的管道,我希望将其部署到这些不同的环境中 environment: name: $CI_COMMIT_BRANCH 我不想直接在代码中对环境进行编码,因此我希望手动选择环境作为管道的第一阶段,以便管道仅使用从那时起分配给所选环境的变量 这在gitlab中可能吗?有什么意义吗?我们使用管道为其运行的提交分支名称来声明我们的环境 environment: name: $CI_COMMIT_

我有一个gitlab存储库,在那里我为不同的环境分配了不同的变量。我有一个用于此存储库的管道,我希望将其部署到这些不同的环境中

  environment:
    name: $CI_COMMIT_BRANCH
我不想直接在代码中对环境进行编码,因此我希望手动选择环境作为管道的第一阶段,以便管道仅使用从那时起分配给所选环境的变量


这在gitlab中可能吗?有什么意义吗?

我们使用管道为其运行的提交分支名称来声明我们的环境

  environment:
    name: $CI_COMMIT_BRANCH
您可以看到预定义的GitLab变量,如上面使用的


如果您想在手动管道过程中进一步控制修改此变量,正如您在问题中所问的,GitLab提供了该功能,您可以检查它

我不认为您可以在另一个阶段中重复使用为一个阶段定义或指定的变量。ci作业的关键之一是尽可能多的可重复性,因此来自下一阶段的作业不能继承来自前一阶段的变量

根据我的经验,环境之间总是存在一些小的差异,因此对我来说,几乎复制/粘贴不同环境的作业定义是有意义的。

您可能可以使用创建一个部署的“空白”模板,该模板将在主管道期间使用变量序列化。通过这种方式,您可以为每个环境提供干净的分离工作

我希望这有助于或至少提供一些线索,正确的方式做它,玩得开心

这是最好的尝试: