合并请求合并后,Gitlab运行管道作业

问题描述

我有一个gitlab管道,其中有两个阶段,一个阶段是构建,另一阶段是部署。进行提交时将运行构建阶段。我希望有一种在合并请求合并到主服务器时运行部署作业的方法。我尝试了几件事,但是没有运气。有人可以帮忙吗?

stages:
  - build
  - deploy

dotnet:
script: "echo This builds!"
stage: build


production:
script: "echo This deploys!"
stage: deploy

only:
  refs:
    - master

解决方法

尝试使用gitlab-ci.yml“规则”功能检查合并请求事件。

您当前的gitlab-ci.yml将在每次提交,合并请求,计划和手动触发的管道时运行“ dotnet”作业。

https://docs.gitlab.com/ee/ci/yaml/#workflowrules

dotnet:
  script: "echo This builds!"
  stage: build
  rules:
    - if: '$CI_BUILD_REF_NAME != "master" && $CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "merge_request_event"'

production:
  script: "echo This deploys!"
  stage: deploy
  rules:
    rules:
    - if: '$CI_PIPELINE_SOURCE == "push" && $CI_BUILD_REF_NAME == "master"'

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...