【问题标题】:Define Gitlab environment定义 Gitlab 环境
【发布时间】:2021-01-23 19:58:01
【问题描述】:

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

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

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

【问题讨论】:

标签: gitlab gitlab-ci gitlab-ci-runner


【解决方案1】:

您可能可以使用dynamic child-pipeline 创建部署的“空白”模板,该模板将在主管道期间使用您的变量进行序列化。这样一来,您就可以为每个环境清晰地分离作业。

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

【讨论】:

    【解决方案2】:

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

      environment:
        name: $CI_COMMIT_BRANCH
    

    你可以看到像上面使用的here这样预定义的GitLab变量

    如果您想在问题中提出的手动管道期间进一步控制修改此变量,GitLab 提供了该功能,您可以查看here

    【讨论】:

      【解决方案3】:

      我不认为你可以在另一个阶段重复使用为一个阶段定义或指定的变量。 ci 作业的关键之一是尽可能地可重复,因此即将到来的阶段的作业不能继承前一阶段的变量。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-07-25
        • 1970-01-01
        • 2021-03-20
        • 2011-02-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-07-21
        相关资源
        最近更新 更多