git流水线(Pipeline)导致分支(Branch)无法合并的解决方法

2020-04-01 15:49:58 浏览数 (1)

什么是 Pipeline 

Pipelines 中文称为流水线,是分阶段执行的构建任务。如:安装依赖、运行测试、打包、部署开发服务器、部署生产服务器等流程。每一次 push 或者 Merge Request 都会触发生成一条新的 Pipeline。

GitLab 中有一个 CI/CD 功能:

GitLab CI/CD 是 GitLab Continuous Integration (Gitlab持续集成)的简称。GitLab 自 GitLab 8.0 开始提供了持续集成的功能,且对所有项目默认开启。只要在项目仓库的根目录添加 .gitlab-ci.yml 文件,并且配置了Runner(运行器),那么每一次 push 或者合并请求(Merge Request)都会触发 CI Pipeline。

在 Pipelines 没有运行成功之前是无法进行分支合并(Merge Request)的,如果没有必要,可以通过下面的方法来解决。

1、跳过 Pipeline

只需要在 commit message 中带上 [ci skip] 或 [skip ci],这个 commit 就不会触发 pipeline。

Skipping jobs If your commit message contains [ci skip] or [skip ci], using any capitalization, the commit will be created but the pipeline will be skipped.

执行命令如下:

代码语言:javascript复制
git commit -m "增加新功能[skip ci]"

但是标题带上  [skip ci] 感觉有点丑,可以换到第二行去。git commit 有个秘技就是每个一个 -m 都会换行,以下效果就是我们最终使用的版本。

代码语言:javascript复制
git commit -m "增加新功能" -m "[skip ci]"

关闭 GitLab 的自动流水线功能:

方法一:打开项目设置——CI/CD ,链接:在项目后面加上 /settings/ci_cd

取消勾选 Auto DevOps下面的 默认为Auto DevOps流水线 。

方法二:删掉项目下的 .gitlab-ci.yml 文件。

这样就可以正常合并了。

本文已加入 腾讯云自媒体分享计划 (点击加入)

0 人点赞