Jenkins配置节点(解决Linux上iOS打包)

作者: LuisX | 来源:发表于2016-08-25 15:35 被阅读3142次
    Jenkins

    iOS打包无法在Linux上进行,因为Jenkins的Xcode插件需要调用Xcode,Xcode只能在OSX系统下安装。

    1.登录Jenkins,添加MacOSX节点
    系统管理☞管理节点☞新建节点
    

    当前master为Linux系统

    新建节点
    2.输入节点名称,勾选PermanentAgent
    输入节点名称
    3.开启要绑定OSX系统电脑的远程登录
    系统偏好设置☞共享☞勾选☞远程登录
    

    获取远程登录的用户名和IP

    打开OSX远程登录
    4.配置节点

    若没有Launch slave agents on Unix machines via SSH选项,需要安装SSH Slaves plugin插件
    若没有Keychains and Provisioning Profiles Management选项,需要安装kpp-management-plugin插件

    配置节点
    5.节点创建完成

    节点创建完成后会自动连接

    加载节点
    6.选择MacOSX节点
    General☞勾选☞Restrict where this project can be run☞输入☞MacOSX
    
    选择节点
    7.正在MacOSX上构建
    正在MacOSX构建
    8.构建成功
    构建成功

    遇到问题

    1.访问Jenkins无权限

    开启Jenkins的读写权限.png

    解决方案:

    开启/Users/Shared/Jenkins的everyone的读写权限
    
    解决方案.

    2.没有找到签名证书

    没有找到签名证书

    解决方案:

    在OSX系统上安装工程对应的☞签名证书和描述文件
    

    3.用户交互不允许

    用户交互不允许

    解决方案:

    打开☞钥匙串访问☞登录标签下☞相应证书☞拷贝☞系统标签下
    
    打开☞钥匙串访问☞登录☞双击☞相应证书☞访问控制☞选择☞允许所有应用程序访问此项目
    
    解决交互权限

    相关文章

      网友评论

      • 忆莫凉娄:作者您好!我想请教个问题,我也是这样配置的,但是有时候jenkins与Mac机器会断,如何使其断开后自动重连呢?
      • 3fedbab54652:作者您好!我的想法是jenkins利用ssh 远程执行在mac os 下的一个shell脚本来得到编译后的ipa文件!我mac os 下的shell脚本在mac上直接执行是可以完成打包的!但是当我ssh 远程执行的时候却始终报错!看了您的文章我突然发现我的那个错误是您说的《用户交互不允许》错误!感谢您!这篇文章对我的启发很大!谢谢!我到公司后尝试把证书的权限打开试试!如果可以了我再回来给您报喜!您也没有一个打赏二维码留下!建议留个二维码!
        LuisX:@斑斓若曦_3da2 :clap::clap::clap:
        3fedbab54652:@LuisX 我解决了!感谢您的文章!从您的文章中我学到了很多!谢谢!
        LuisX:@斑斓若曦_3da2 能够解决问题就好,何必如此客气,哈哈:stuck_out_tongue_winking_eye:
      • niuxinghua:jenkins能泡在黑苹果上吗
      • 狗不理火锅:我用的fastlane 当我执行exectue shell里面的代码fastlane release 是,不用调用slave节点,这个需要怎样去调用salve节点的啊?
      • 魏梓雄:这个方案的前提是有个macOS 的服务器是吧。至少macOS有个外网的ip。
      • cooling2016:大神,我的jenkins版本是2.67,我要创建linux【ubuntu】节点,我安装了“”安装SSH Slaves plugin插件,但是就是没有”Launch slave agents on Unix machines via SSH选项但是有个叫【”Launch slave agents via SSH】选项。启动agent时,它报错【[06/29/17 14:57:31] [SSH] Opening SSH connection to 192.168.1.10:22.
        /var/lib/jenkins/.ssh/known_hosts [SSH] No Known Hosts file was found at /var/lib/jenkins/.ssh/known_hosts. Please ensure one is created at this path and that Jenkins can read it.
        Key exchange was not finished, connection is closed.】----求指导,万分感谢
        6d0774377a92:@cooling2016 感谢朋友的回复!我现在用的是2.95版本的。难不成还降版本?我的一直没连上,配置成windows master,mac slave,应该可以吧?
        cooling2016:@漂流的水瓶 朋友,这个坑,没有跳出来。我觉得可能2.5以下版本没问题,2.5上的版本太好了,插件可能不兼容什么的
        6d0774377a92:我的也是【”Launch slave agents via SSH】选项,一直连接不上,提示连接超时。。。请问你的解决了吗
      • otave:mac 系统也需要安装jenkins吗?
        6d0774377a92:@LuisX
        为什么有些文章说slave服务器上不用安装jenkins呢?如下链接有描述:
        https://www.cnblogs.com/derekchen/p/5892286.html
        二、什么时候使用节点和作用
          当我们使用多台服务器时,并且配置了tomcat或jboss集群服务,可通过jenkins的节点配置,将jenkins项目发布在不同服务器上(分布jenkins工作空间,部署项目到不同服务器的tomcat或jboss),这就形成了jenkins的分布式。节点服务器不需要安装jenkins(只需要运行一个slave节点服务),构建事件的分发由master端(jenkins主服务)来执行。
        LuisX:@otave 是的

      本文标题:Jenkins配置节点(解决Linux上iOS打包)

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