【Jenkins】Jenkins连接gitlab报错:returned status code 128

目录

一、前言

二、Jenkins创建Item连接Gitlab

三、常见错误(包括 returned status code 128报错)


一、前言

        近期学习Jenkins过程中遇到的问题,希望能帮助到大家,如只为解决 returned status code 128问题,可以直接跳到最后查看本文。

二、Jenkins创建Item连接Gitlab

使用jenkins创建item,配置连接git仓库(这里使用的是gitlab本地仓库,如使用的是互联网仓库替换仓库地址即可)

准备两台机器
1. gitlab
2. jenkins

分别启动好,gitlab和jenkins

从gitlab获取仓库地址(ssh)
git@192.168.142.133:cmdb_dev/learn_gitlab.git

整体流程:用户访问jenkins  —> jenkins配置iteml(自动拉去gitlab代码)  —> jenkins从gitlab拉去代码到本地工作区

1. 进入jenkins,选择Item,进入配置页面,配置如下信息(这里使用ssh的方式),选择ADD添加凭证

2. 添加jenkins私钥

  ssh-keygen -t rsa  # jenkins服务器生成公私钥,配置到添加的凭证中

3. 使用上一步jenkins服务器生成的公钥配置到gilab中

4. 确认 Item配置的GIt配置无误后,点击保存

5. 点击开始构建,查看控制台输出信息

三、常见错误(包括 returned status code 128报错)

1.  jenkins服务器没有安装git工具

解决办法如下

jenkins服务器安装git工具
yum install -y git

2. 权限问题,没有ssh免密登录

解决办法如下

1. 将jenkins服务器生成的公钥,配置到gilab服务器

ssh-keygen -t rsa  # jenkins服务器生成公私钥
ll ~/.ssh/id_rsa.pub # 将当前用户下,这个文件内容配置到gitlab的ssh密钥中

到了这里可能其他版本用户就已经解决了,但是我当前使用的版本它还是报错,所以接着往下走。

2. 发现还是报错,而且是相同的错(这里怀疑可能是版本原因,我的jenkins版本是jenkins-2.387.2-1.1.noarch)

执行如下命令解决,主要是将gitlab服务器的公钥拷贝至jenkins服务器中

ssh-keyscan -t ecdsa 192.168.142.133 >> ~/.ssh/known_hosts

它用于获取远程主机的公钥并将其添加到本地的 `known_hosts` 文件中。

- `t ecdsa` 参数指定了使用 ECDSA(椭圆曲线数字签名算法)类型的密钥来获取远程主机的公钥。ECDSA 是一种公钥加密算法,用于生成和验证数字签名,它提供了与其他加密算法相比较小的密钥尺寸和较快的性能。

2.3. 最后需要使用重启大法,重启下jenkins

systemctl restart jenkins
  • 9
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Young-Eddie

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值