美文网首页
Jenkins stderr: GitLab: Your ac

Jenkins stderr: GitLab: Your ac

作者: HiIgor | 来源:发表于2017-07-21 16:23 被阅读867次

问题

早上来发现jenkins打包失败报错误:stderr: GitLab: Your account has been blocked. fatal: Could not read from remote repository。

分析

vpn的连接没有问题,查看了ssh对应的gitlab账号之前是绑定一名离职同事账号下,账号已经被blocked了,所以问题是机器连不上gitlab,不能同步最新代码了。

解决

公司jenkins服务器(配的一个专用做打包的mac-mini)使用的credential类型两种SSH Username with private key和 Username with password。

粘贴图片.png
  • Username with password
    • 使用这种类型的credential的话,只需要添加我的gitlab的账号和
      密码在jenkins服务器上,然后在打包任务的crediential中配置。
    • 在图上的界面中Global credentials (unrestricted) 下拉菜单点击add credential,填写gitlab账号和密码。
粘贴图片.png
  • SSH Username with private key
    • 使用这个类型credential,需要在jenkins服务器生成sshkey,分别配置到jenkins服务器和gitlab上我的账号下,然后应用到打包任务中就over了。
    • 在jenkins服务器上先删除之前生成的旧的sshkey,然后生成新的。
      rm -r ~/.ssh // 删除之前的ssh信息
      ssh-keygen -t rsa -C "youremail@xxx.com" 一路按回车键即可

命令执行完会在~/.ssh 生成 id_rsa和id_rsa.pub。 打开gitlab,添加sshkey,将id_rsa.pub文件内容全部复制粘贴过去就好了。

gitlab添加sshkey

gitlab添加sshkey

再来到jenkins配置界面update credential的配置。

jenkins update credential.png

点击箭头处,进入之后将之前生成的id_rsa文件全部内容复制粘贴到Private Key处保存。因为之前iOS打包配置使用的就是jenkins这个credential,更新之后打包正常。

总结

以上两种方式都可以用来配置打包任务的credential,都可以解决标题上的问题。credentail主要是用于jenkins从gitlab上拉最新代码,第一种方式(Username with password)比较简单,密码修改之后需要重新配置;第二种方式(SSH Username with private key)比较麻烦,

相关文章

网友评论

      本文标题:Jenkins stderr: GitLab: Your ac

      本文链接:https://www.haomeiwen.com/subject/nfdekxtx.html