IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 记录-gitlab自动部署-git拉取代码失败构建失败 + linux系统升级git(yum安装 + 源码安装) -> 正文阅读

[开发工具]记录-gitlab自动部署-git拉取代码失败构建失败 + linux系统升级git(yum安装 + 源码安装)

遇见的问题

fatal: git fetch-pack: expected shallow list

在使用gitlab自动构建部署时,遇到的一个问题我第一次构建部署的时候成功了,但是后面再去部署构建,拉代码的时候出现问题了。

Reinitialized existing Git repository in /home/gitlab-runner/builds/NqAgEmSK/0/lihuifu/graphical_admin/.git/
fatal: git fetch-pack: expected shallow list
fatal: The remote end hung up unexpectedly
ERROR: Job failed: exit status 1

参考网上的资料,发现很可能是 git 版本过低导致的。

赶紧去看了下自己的 git 和 gitlab-runner的版本

git --version
gitlab-runner --version

发现

git版本:1.8.3.1
gitlab-runner版本:12.5

升级git版本

这里有两种方式:

  • 更新一下yum中git的源,然后用yum来安装git
  • 源码安装git

个人推荐第一种,两种我都试过,使用源码安装的时候发现再去安装gitlab-runner的时候,一直提示我需要git,我佛了,不是安装好git了吗,赶紧把源码安装的卸载了,然后果断使用yum安装git,然后再安装了 gitlab-runner。

我发现:gitlab-runner是依赖于git的,你在安装 gitlab-runner之前必须要把 git安装好,而且如果你在gitgitlab-runner都已经安装好的情况下,再去动git(更新/卸载之类)。你的gitlab-runner则需要重新安装…wft!!!

两种安装方式都贴出来:

更新yum中git源

先给一个centos7系统更新git的示例:

# 先安装源
yum install http://opensource.wandisco.com/centos/7/git/x86_64/wandisco-git-release-7-2.noarch.rpm

# 安装git
yum install git

# 更新git
yum install git

那么先看下一自己的操作系统

cat /etc/redhat-release

# centos8的系统 CentOS Linux release 8.0.1905 (Core)

centos8默认的git版本应该是在2以上的,这里还是说明下怎么找。

那么我去这个源的网站上,看下有没有适合我系统的git源

http://opensource.wandisco.com/centos/

在这里插入图片描述

正好有centos8的,一路点进去,找到相应的 rpm包,然后yum install安装

centos8的git源

# 安装git源
yum install http://opensource.wandisco.com/centos/8/git/x86_64/wandisco-git-release-8-1.noarch.rpm

# 安装git
yum install git

# 更新git
yum update git

执行完之后会发现,你的git版本已经到 2.x版本了。

整完后,如果要使用gitlab-runner,记得再去安装下 gitlab-runner

快捷入口:安装gitlab-runner12.5版本的

源码方式安装

需要先去安装一下依赖。

yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc
yum -y install gcc perl-ExtUtils-MakeMaker

把旧版本的git卸载了

yum -y remove git

可以先选择好安装到哪个目录下,以 /usr/local/src为例。

cd /usr/local/src

去网站上找找,你自己需要的包

https://mirrors.edge.kernel.org/pub/software/scm/git/在这里插入图片描述

找到后,直接复制下载地址,然后wget下载就行了

# 下载源包 2.3.4版本的
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.3.4.tar.xz

解压

tar -xvf git-2.3.4.tar.xz

进入目录

cd git-2.3.4

编译(这里的 /usr/local是git安装到的目录

make prefix=/usr/local/git all

安装

make prefix=/usr/local/git install

配置环境变量

echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/profile && source /etc/profile

查看版本,升级到2版本了。

git --version

两种方式都可以。

小提示

另外,假如我们要删除源码安装的git,那么就直接把环境变量中的相关配置一删除,再把所有关于git相关的文件全部删除即可。如果你发现,全都删了而且环境变量也删了,但是git的命令仍然存在。你不妨可以先把当前的远服务器程连接工具的窗口关闭,然后重新打开一个,你会发现惊喜。哈哈

参考自大佬文章

无翼之雀:gitlab自动构建(二次构建)报错–fatal: git fetch-pack: expected shallow list

无翼之雀:Centos(Linux)升级git最新版本

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-05-27 17:23:57  更:2022-05-27 17:24:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 12:07:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码