jenkins将mac os 建立为slave节点

我们手游项目,需要支持android/ios,android支持在linux下打包。ios必须要mac上进行打包。

持续集成我们使用了jenkins,找了一台mac mini做为slave。

一开始使用的是java web start。结果试了各种方法得到结论,java web start特别方便,最好不要在mac上使用,因为担心java的安全问题,mac上的java web start根本无法使用。

参考了文章:https://blog.samsaodev.com/how-to-setup-a-jenkins-slave-running-mac-osx-for-ios-projects-part-1/

在ssh-add那一步如果遇到:SSH_AGENT_FAILURE 错误,可以先执行下 eval $(ssh-agent) 试试能否解决问题。

使用ssh建立slave节点。

在mac os 上一直无法使用username/password模式登陆,发现原来mac os因为安全原因,禁止了没有交互的ssh登陆。这里只能使用rsa private key 进行登陆。

在master server上生成key。

然后将public key 复制至slave server。

登陆slave时失败了,查看slave server上的/var/log/secure:sshd[12053]:  Address 10.234.49.36 maps to localhost, but this does not map back to the address – POSSIBLE BREAK-IN ATTEMPT!

是因为:是因为DNS服务器把 10.234.x.x 的地址都反向解析成 localhost ,而DNS服务器不是自己的,不能改。 解决的办法就是,编辑 ssh 客户端的 /etc/hosts 文件,把出问题的IP 地址和主机名加进去,就不会报这样的错了。

两台机器之间使用ssh key登陆,默认使用本地当前的用户名,如果不是,则需明确指定用户名。

在jenkins上使用ssh key登陆时,密码必须为空。同时指定private key 所在路径。

OK,添加jenkins子节点成功。

发表评论?

0 条评论。

发表评论


注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>