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


    最近我的分支往main分支合并代码的时候,一直提请我流水线成功的时候自动合并,由于我对gitlab的熟悉度不是很高,第一次看到这个流水线问题,所以就对此问题,找了解决方法

    一.什么是 Pipeline 

    Pipeline中文称为流水线,是分阶段执行的构建任务。如:安装依赖、运行测试、打包、部署开发服务器、部署生产服务器等流程。每一次 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。

    推送命令:

    git commit -m "xxxx[skip ci]"

    或者

    git commit -m "xxxx" -m "[skip ci]"

    2.直接关闭流水线功能

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

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

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

    我就是用的方法二实现的,简单粗暴,我到现在都不知道,项目文件里为什么多一个.gitlab-ci.yml。。。。。。

    问题是解决了,但是还是不了解内因,下一步目标就是搞透gitlab。。。。

  • 相关阅读:
    阿里巴巴面试题- - -Java体系最新面试题(十一)
    【JVM】类加载器
    SpringBoot统一返回值和统一异常处理
    【数据结构】—— 二叉树(C)
    【C++】STL——stack和queue(万字详解)
    对Happens-Before的理解
    Zookeeper:实现“命名服务”的 Demo
    基础练习 字母图形
    机器学习笔记 - 灰狼优化
    SpringBoot整合Kafka并实现广播模式
  • 原文地址:https://blog.csdn.net/m0_58565372/article/details/126520928