您现在的位置是:首页 > PHP框架交流PHP框架交流

fatal: could not read Username for 'https://gitee.com': No such device or address

上善若水2022-06-23 00:43:00【PHP框架交流】 11673人已围观

简介在测试git拉取代码时fatal:couldnotreadUsernamefor‘https://gitee.com‘:Nosuchdeviceoraddress,采用jenki

在测试git拉取代码时fatal: could not read Username for ‘https://gitee.com‘: No such device or address,采用jenkins自动拉取代码,无法成功构建.
用shell命令登录账号后,拉取代码,发现需要输入账号密码,输入账号密码后,发现还是无法拉取,发现是仓库源发生改变,修改后再次拉取代码,即成功,但是发现jenkins还是无法成功拉取代码.猜测是没有设置全局的账号密码,导致无法拉取私有仓库.

查看linux默认的全局账号名和密码后,发现未进行输出表示未存储账号密码.

查看用户名 :
git config user.name

查看密码:
git config user.password

查看邮箱:
git config user.email

查看配置信息: 
git config --list

修改用户名
git config --global user.name "xxxx(新的用户名)"

修改密码
git config --global user.password "xxxx(新的密码)"

修改邮箱
git config --global user.email "xxxx@xxx.com(新的邮箱)"

经测试,问题仍未解决.

换种方式还是不行. 后续再解决吧.

2022-07-07再次更新

终于构建成功了!
总结下最近为了解决这个问题锁处理的一些问题。

  1. git pull 不能拉去是密码的问题,我登录服务器发现,配置了全局的用户名密码,用root账号也是可以正常拉去代码的,意思到可能是用户的问题,发现保存的账号密码是用root执行的执行的保存全局的配置可能只有root可用
  2. 按照这个思路,我想着切换成jenkins 用户 用jenkins至设置全部账号密码配置,那样的就可以运行的,当我输入su jenkins 发现提示符并没有变成$ 百度了下,jenkins并没有自己的根目录,因为默认的root保存的密码可以这样看。
cd /root
ls -a
cat .gitconfig

我们就能看到自己的账号密码了,所有用root保存的密码是保存到家目录的,想着切换成jenkins用户,发现jenkins没有创建目录,查了下资料好麻烦,还是觉得jenkins用root用户解决这个问题。

  1. 一开始我也是改过jenkins以root用户运行,发现完全网上配置的不好使,然后就放弃,再次百度了下解决了。
    以下是我看到的位置教程
    以centOS系统为例,记录下修改Jenkins以root用户运行的方法。
    修改Jenkins配置文件
# 打开配置文件
vim /etc/sysconfig/jenkins
# 修改$JENKINS_USER,并去掉当前行注释
$JENKINS_USER="root"
修改Jenkins相关文件夹用户权限
chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins
重启Jenkins服务并检查运行Jenkins的用户是否已经切换为root

这里最坑我之前试过,改了权限jenkins直接崩了,无法启动,我giao,被迫解决

  1. 发现是新版的jenkins修改了配置文件位置,老版本不再适用。正确的位置 /usr/lib/systemd/system/jenkins.service
    首先输入命令
vim /usr/lib/systemd/system/jenkins.service

找到配置用户的地方,修改成root

# Configures the time to wait for start-up. If Jenkins does not signal start-up
# completion within the configured time, the service will be considered failed
# and will be shut down again. Takes a unit-less value in seconds, or a time span
# value such as "5min 20s". Pass "infinity" to disable the timeout logic.
#TimeoutStartSec=90

# Unix account that runs the Jenkins daemon
# Be careful when you change this, as you need to update the permissions of
# $JENKINS_HOME, $JENKINS_LOG, and (if you have already run Jenkins)
# $JENKINS_WEBROOT.
User=root
Group=root

依次输入

systemctl daemon-reload #未输入会提示让你输入
systemctl restart jenkins #重启jenkins

就会看到

[root@VM_0_16_centos ~]#  ps aux |grep jenkins
root     17133 52.0 12.6 2790072 238600 ?      Ssl  22:43   0:16 /usr/bin/java -Djava.awt.headless=true -jar /usr/share/java/jenkins.war --webroot=%C/jenkins/war --httpPort=8080
root     17320  0.0  0.0 112812   976 pts/0    R+   22:43   0:00 grep --color=auto jenkins

未修改前是这样的

[root@VM_0_16_centos ~]#  ps aux |grep jenkins
jenkins  15214 24.9 20.1 2805952 379000 ?      Ssl  22:35   0:40 /usr/bin/java -Djava.awt.headless=true -jar /usr/share/java/jenkins.war --webroot=%C/jenkins/war --httpPort=8080
root     15891  0.0  0.0 112812   976 pts/0    R+   22:37   0:00 grep --color=auto jenkins

可以明显看到是jenkins,已经修改成root了,然后我去手动构建了一下代码,构建成功!

抖抖卷卷话来总算解决了,唉~ linux权限问题一定重视,window可以运行,linux不一定行。

很赞哦! (10)

相关文章

随机图文

文章评论

站点信息

  • 建站时间:2019-10-24
  • 网站程序:Thinkphp6 Layui
  • 文章统计247篇文章
  • 标签管理标签云
  • 统计数据cnzz统计
  • 微信公众号:扫描二维码,关注我们