Target 和 Source 分支未在 GitLab 管道中合并
Target and Source branch are not merged in GitLab pipeline
我目前正在试验 GitLab。目前,我正在使用 GitLab 的免费在线版本,我非常喜欢它。但目前,我正在尝试了解“合并请求”策略。假设我有两个分支:
- 高手
- 我的开发
现在,假设我在主分支上有一个名为“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” 时执行以下操作管道:
- 克隆存储库
- 签出“mydev”分支
- 在 master 分支之上重新设置“mydev”分支
- 运行 脚本(“ls -al”命令)
但我的假设似乎是错误的,GitLab 只是检出源分支并运行脚本(GitLab 跳过第 3 步)。那么,谁能解释一下我的假设有什么问题?
我想做的是,所有开发人员都在自己的分支上工作。当他们完成他们的工作时,他们创建一个“合并请求”并且测试管道自动运行,就像“源分支已经合并到目标分支中”。
据我了解,您想使用 Pipelines for Merged Results 功能。
你应该:
- 拥有 Gitlab Premium
- Enable pipelines for merged results
我目前正在试验 GitLab。目前,我正在使用 GitLab 的免费在线版本,我非常喜欢它。但目前,我正在尝试了解“合并请求”策略。假设我有两个分支:
- 高手
- 我的开发
现在,假设我在主分支上有一个名为“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” 时执行以下操作管道:
- 克隆存储库
- 签出“mydev”分支
- 在 master 分支之上重新设置“mydev”分支
- 运行 脚本(“ls -al”命令)
但我的假设似乎是错误的,GitLab 只是检出源分支并运行脚本(GitLab 跳过第 3 步)。那么,谁能解释一下我的假设有什么问题?
我想做的是,所有开发人员都在自己的分支上工作。当他们完成他们的工作时,他们创建一个“合并请求”并且测试管道自动运行,就像“源分支已经合并到目标分支中”。
据我了解,您想使用 Pipelines for Merged Results 功能。
你应该:
- 拥有 Gitlab Premium
- Enable pipelines for merged results