美文网首页Jenkins & Linux移动端设计研发iOS Developer
Jenkins 总结 :Mac上git iOS 自动打包

Jenkins 总结 :Mac上git iOS 自动打包

作者: 轶匠 | 来源:发表于2016-04-20 12:33 被阅读3912次

    首先安装jdk  Java环境,因为jenkins是Java编写,下载地址:

    http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

    然后下载jenkins,地址:https://jenkins.io/index.html

    先安装jdk,在安装jenkins

    安装完了后,会自动跳转到localhost:8080

    安装插件:

    系统管理—> 管理插件 —> 可选插件

    搜索你要安装的插件

    Xcode插件:XcodePlugin-Installationguide

    git插件:Git+Plugin

    勾选后点击下载待重启后安装,由于我已经安装过了,所以没有Xcode插件的选项

    下载完后,重启jenkins,在下载的时候有个安装完重启的选项,勾选,会在安装完插件后自动重启

    接着就是配置jobs了

    先新建jobs

    填写item名,勾选第一个,点击ok


    接着选择git输入git的信息,可以选择http也可选择ssh


    用http需要添加你的git的用户名和密码来验证,点击Add


    输入后点击Add

    如果选择ssh的话

    选择打包的分支

    添加定时打包:

    定时打包不会的话,可以自己搜一下,我这里写的是18:55打一次包,19:40打一次包。。。

    下面便是Xcode的配置

    点击构建操作选择Xcode

    详细配置:

    Keychain path: ${HOME}/Library/Keychains/login.keychain

    jenkins用户的登陆密码,可以强行修改:在终端输入

     sudo passwd Jenkins

    如果没有用workspace配置如下,当然有时候因为项目不同有大同小异

    如果是workspace配置如下,


    Build output directory:/Users/Shared/Jenkins/Home/jobs/${JOB_NAME}/workspace/build

    最后点击保存

    再就是开始构建了

    到这还没有成功,必须注销当前用户,进入到jenkins用户下,找到clone下的项目代码,用Xcode编译并打包archive成功,为了生成相应的证书,之后再切换回自己的用户下,在点击立即构建,成功情况是蓝色的原点,失败是红色原点,失败的话要自己点击红色原点看失败原因,并修改。

    代码clone后的地址:/Users/Shared/Jenkins/Home/jobs

    相关文章

      网友评论

      • 415242e789ca: > git rev-parse refs/remotes/origin/master^{commit} # timeout=10
        > git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=10
        Checking out Revision b9805ffd6a31c920ff4f0444c5657eecfe857088 (refs/remotes/origin/master)
        > git config core.sparsecheckout # timeout=10
        > git checkout -f b9805ffd6a31c920ff4f0444c5657eecfe857088
        > git rev-list b9805ffd6a31c920ff4f0444c5657eecfe857088 # timeout=10
        FATAL: String index out of range: 15
        java.lang.StringIndexOutOfBoundsException: String index out of range: 15
        at java.lang.String.substring(String.java:1963)
        at com.sic.plugins.kpp.provider.KPPBaseProvisioningProfilesProvider.removeUUIDFromFileName(KPPBaseProvisioningProfilesProvider.java:171)
        at com.sic.plugins.kpp.model.KPPProvisioningProfile.getProvisioningProfileFilePath(KPPProvisioningProfile.java:76)
        at com.sic.plugins.kpp.KPPProvisioningProfilesBuildWrapper.copyProvisioningProfiles(KPPProvisioningProfilesBuildWrapper.java:157)
        at com.sic.plugins.kpp.KPPProvisioningProfilesBuildWrapper.setUp(KPPProvisioningProfilesBuildWrapper.java:99)
        at hudson.model.Build$BuildExecution.doRun(Build.java:157)
        at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:490)
        at hudson.model.Run.execute(Run.java:1735)
        at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
        at hudson.model.ResourceController.execute(ResourceController.java:97)
        at hudson.model.Executor.run(Executor.java:415)
        Finished: FAILURE


        这个是什么原因啊
        415242e789ca:@一萝卜根儿 我的jenkins 版本也是2.46.3 方便加一下qq 吗 1071872574 有些问题需要请教一下,谢谢!
        415242e789ca:@一萝卜根儿 代码是拉取成功了,在jenkins 的目录下有拉取的完整代码,就是在网上的资料 在配置证书的插件里面 只有上传钥匙串 文件的选项,没有下面填写 那个 配置文件的名称及路径内容,是我的 jenkins 版本不一样还是少装了什么东西 没有添加配置文件的 那一项呢
        轶匠:@leleha 拉取代码失败了吧
      • 发散思维_6d61:你好,照着文档操作完,构建时候,报错了。麻烦看一下。贴上本人配置的截图,麻烦看一下。谢谢。
        http://note.youdao.com/noteshare?id=f63675464f53f29cd0ab89b87d4ee411
      • 发散思维_6d61:Xcode Project File 你备注的是项目地址,是什么意思啊?我该怎么写啊?
        轶匠:@发散思维_6d61 我的这个没有上传,自动获取的
        发散思维_6d61:不需要证书吗?没看到上传证书的操作啊?
        轶匠:@发散思维_6d61 通过Jenkins 克隆下来的的工程路径
      • e589515ea844:麻烦问下,如何能拿到git的本次commit的改动日志呢?
        轶匠:你要拿日志干嘛?
      • ForestSen:好 收藏了
      • 梦幻华:请问在IOS10.0下打包如何打包?jenkins不支持在IOS10.0以上用Xcode8下打包了
        轶匠:@梦幻华 xcode
        梦幻华:@一萝卜根儿 你用的是脚本打包,还是用的是xcode的?
        轶匠:@梦幻华 我现在还是能打的,哪里不支持了?我没有升级jenkins2
      • 孤独感爆棚:请问一个问题,我的SSH公钥是添加到指定的项目,还是设置在用户的SSH里面
      • MoussyL:楼主,文章非常棒,必须给你赞~~
        只是。。立即构建那段话我没看太懂。。。前边都配置过了
        我是直接立即构建的,显示的是红色的。。失败了,我说下我的情况,
        我电脑上本来就有通过git克隆下来的代码,之后才开始安装Jenkins,配置的,是不是不需要再在job下克隆代码了?然后应该怎么操作?
        求答疑~谢谢~
        轶匠:@木子夕 那个job里克隆下来的代码是在Jenkins用户下,不是在你自己的用户下,根本不是一个
      • 开发仔小广:卡到从gitlab获取项目源码这一步了,按照http的方式,账户和密码都对,然后构建版本半个多小时,后报错;按照ssh的方式,说我的ssh不正确,急死了都快;大神能帮下忙吗?跪谢!
        开发仔小广:@一萝卜根儿 谢谢 就是我添加错了私钥,现在能clone下来,就是命令不能用,pod命令,说是找不到pod命令,然后直接切换到clone下来的文件夹,去pod install 也是不行,是不是需要特殊配置啊,还是我需要在电脑启动的时候,选择Jenkins用户,从那里登录呢?
        轶匠:@XGPass 项目大的话可能jenkins clone代码的时候可能clone失败
        轶匠:@XGPass ssh要添加的是私钥,http你在自己电脑上可以clone下来吗?报什么错?你项目大吗?大的话可能jenkinsclone代码的时候clone失败
      • everlastxgb:jenkins daily build,支持ios和android,打包完成上传服务器推送APP更新信息。 :smirk: ,团队必备。
        everlastxgb:@小小烨 直接说呗
        78497bd080a0:@everlastxgb 加QQ,need your help
        轶匠:@everlastxgb 能加个QQ或者微信吗?:smile:
      • d053345b0b60:写的很好,我也在用 jenkins 打包iOS应用,但是后来iOS9的系统出来以后,打出来的包在iOS9上安装失败,好长时间过去了,一直没有找到原因,我会按照楼主写的文章重新配置一遍,然后再试试
        轶匠:@Smile_521 iOS9没有问题呀
      • d656af7d2466:马赛克打得很好
        轶匠:@raven_zhang 是的 :checkered_flag:
      • 4VZhang:棒棒哒
      • ForestSen:很棒

      本文标题:Jenkins 总结 :Mac上git iOS 自动打包

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