是否可以手动选择要在gitlab CI / CD中部署到哪个环境?

问题描述 投票:0回答:2

gitlab CI / CD是否具有Web界面,可让我们选择单个分支部署到的环境?

在詹金斯,我可以用Parameterized Build Plugin创建这样的Web界面。

enter image description here

但是我还没有找到使用gitlab CI / CD做到这一点的方法。

有人知道该怎么做吗?

------------------------------------编辑----------- -------------------------

这里的an issue提出了同样的问题。该功能似乎尚未实现。

gitlab continuous-deployment
2个回答
0
投票

您需要配置不同的作业才能实现此目的。描述一般特征here,但这是一个示例,您的Gitlab-CI配置可能如下所示:

stages:
- deploy

deploy-env-a:
  stage: deploy
  script:
    - deploy.sh
  environment:
    name: env-a.your-company.com

deploy-env-b:
  stage: deploy
  script:
    - deploy.sh
  environment:
    name: env-b.your-company.com

在CI管道中,这两个作业将显示在部署阶段,如果查看这些作业的输出,应该会看到类似“此作业已部署到env-a.your-company.com”的内容。环境名称可作为名为“ $ CI_ENVIRONMENT_NAME”的环境变量使用,因此您可以在部署脚本中使用它来将资源复制到正确的目标或需要执行的任何操作。


0
投票

您可以使用带有环境变量的手动作业来设置要部署的环境。从GitLab 12.2开始,您可以在运行手动作业时指定变量:

来自Gitlab documentation

运行手动作业时,您可以提供其他特定于作业的变量。您可以从要运行其他变量的手动作业的作业页面执行此操作。当您要通过使用环境变量来更改作业的执行时,此功能很有用。

示例:

stages:
- deploy

deploy:
  stage: deploy
  script:
    - <deploy script that use $DEPLOY_ENV to decide to which environment to deploy>
  when: manual
  environment:
    name: $DEPLOY_ENV

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.