【问题标题】:Target and Source branch are not merged in GitLab pipeline目标和源分支未在 GitLab 管道中合并
【发布时间】:2020-12-20 19:29:48
【问题描述】:

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

  1. 主人
  2. 我的开发者

现在,假设我在主分支上有一个名为“README1.md”的文件,在“mydev”分支上有一个名为“README2.md”的文件。接下来,我创建一个从“mydev”-branch 到 master-branch 的合并请求,并且我有以下 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 (master-branch) 和 README2.md (mydev-branch),因为我假设 GitLab 在运行“merge_requests”管道时正在执行以下操作:

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

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

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

【问题讨论】:

    标签: git gitlab gitlab-ci pipeline branching-strategy


    【解决方案1】:

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

    你应该:

    1. 拥有 Gitlab 高级版
    2. Enable pipelines for merged results

    【讨论】:

      猜你喜欢
      • 2020-06-15
      • 2021-02-10
      • 1970-01-01
      • 2021-11-05
      • 2019-06-30
      • 2022-11-04
      • 2016-12-19
      • 2017-03-24
      • 1970-01-01
      相关资源
      最近更新 更多