目标和源分支未在GitLab管道中合并

问题描述

我目前正在尝试使用GitLab。目前,我正在使用GitLab的免费在线版本,我非常喜欢。但是目前,我正在尝试了解“合并请求”策略。鉴于我有两个分支:

  1. 主人
  2. mydev

现在,假设我在主分支上有一个名为“ README1.md”的文件,在“ mydev”分支上有一个“ README2.md”的文件。接下来,我创建一个从“ mydev”分支到主分支的合并请求,并具有以下gitlab-ci.yml文件

image: node:current-alpine

test:
  only:
    - merge_requests
  stage: test
  script:
    - ls -al

因此,在创建合并请求时,管道将运行并标记为“分离”。但是“ ls -al”仅​​显示“ mydev”分支中的README2.md,而不显示主分支中的README1.md。 GitLab文档的统计信息“有了用于合并结果的管道,管道就好像源分支的更改已被合并到目标分支中一样运行。”因此,我希望同时看到README1.md(主分支)和README2.md(mydev分支),因为我认为GitLab在运行“ merge_requests”管道时正在执行以下操作:

  1. 克隆存储库
  2. 结帐“ mydev”分支
  3. 将“ mydev”分支重新设置到master分支的顶部
  4. 运行脚本(“ ls -al”命令)

但是似乎我的假设是错误的,GitLab只是签出了源分支并只运行了脚本(GitLab跳过了步骤3)。那么,谁能解释我的假设出了什么问题?

我想做的是,所有开发人员都在自己的分支上工作。完成工作后,他们会创建一个“合并请求”,并且测试管道会自动运行,就像“源分支已经合并到目标分支中一样。”

解决方法

据我了解,您想使用Pipelines for Merged Results功能。

您应该:

  1. 拥有Gitlab Premium
  2. Enable pipelines for merged results

相关问答

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