今天遇到一个诡异的jenkins问题。以往正常构建的项目,在推送镜像进入私库时,突然报unauthorized: authentication required。

  • 开始尝试命令行重新进行了docker login。
  • docker login -p 密码 -u 用户 http://私库url
  • 登录成功后,尝试用jenkins用户在命令行进行push操作。
  • docker push 镜像
  • 命令显示OK。切回Jenkins进行构建,问题依旧存在。
  • 新建构建项目,尝试执行docker login和docker push命令。login时报:
  • Error saving credentials: mkdir /.docker: permission denied
  • docker 的client配置目录原本应该在~目录,不知为何跑到了根目录,命令行该用户的home目录正常,怀疑docker默认配置不对,然后修改配置,重启,问题依旧。
  • 有点无语了,转头看看jenkins的系统信息,发现其中的home和user.home均在根目录下。然后尝试修改用户目录,并重启jenkins。
  • usermod -d /path/to/your/location jenkins
  • 重启完毕后,尝试编译项目,问题终于解决。可能是周末停机维护造成的,应该是jenkins的小bug。

参考资料:

转载于:https://my.oschina.net/u/2366460/blog/852917

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐