解决在Mac下搭建Jenkins+GitLab持续集成环境踩到的
关于持续集成自行百度吧。
这里主要解决参照手把手教你利用Jenkins持续集成iOS项目 这篇文章搭建环境时遇到的一些问题的解决。
到目前为此还没有真正开始用起来呢。遇到问题就先记录一下解决方法吧。
坑一:指定Git源代码时提示无权限
报错:
Failed to connect to repository : Command "git -c core.askpass=true ls-remote -h git@XXXXX:XXXX/XXXX.git HEAD" returned status code 128:
stdout:
stderr: Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,password).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
我也想到是可能是ssh密码的问题。但试了几次都不对。
最后参考Jenkins+Github+Testflight在Mac下搭建持续集成环境 这篇文章解决
原来我用的ssh密钥一直都是我自己用户生成的。其实在Jenkins系统使用的都是Jenkins这个系统帐号的。
那就换到jenkins这个帐号下生成个新的ssh密钥,在上传到git的服务器就好了。
方法如下:
1)打开终端为名为jenkins的用户设置一个密码
sudo dscl . passwd /Users/jenkins YourPassword
2)切换到jenkins用户,并以jenkins用户身份生成ssh key
su jenkins
ssh-keygen -t rsa -C "你的邮箱标识" -f ~/.ssh/jenkins
3)把公共密钥放到git的服务器
jenkins 私钥 jenkins.pub 公钥
gitlab的增加SSHkey 处再回到Jenkins里,把私钥粘进去。
增加ssh私钥再到源代码管理里
选择此证明终于不出错了,搞了我两天。
继续搞