赞
踩
目录
三、常见错误(包括 returned status code 128报错)
近期学习Jenkins过程中遇到的问题,希望能帮助到大家,如只为解决 returned status code 128问题,可以直接跳到最后查看本文。
使用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. 点击开始构建,查看控制台输出信息
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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。