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

时间:2019-11-20 02:18:42

标签: gitlab continuous-deployment

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

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

enter image description here

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

有人知道该怎么做吗?

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

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

2 个答案:

答案 0 :(得分: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”的环境变量使用,因此您可以在部署脚本中使用它来将资源复制到适当的目标或执行任何操作。

答案 1 :(得分: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