IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Jenkins持续集成之iOS应用打包

    summer发表于 2016-07-03 11:24:02
    love 0

    ## 文章面向读者
    1. Jenkins入门即可,但需要有亲自实践过
    2. 会用Mac,了解一些Xcode的基本知识

    ## 必要条件
    1. 一台Mac电脑
    1. 苹果开发者证书
    1. 一个可以正常编译的App项目源码

    ## 开发环境配置
    1. 导入证书

    Mac准备好之后,Xcode先装上,用Xcode打开项目,然后打开项目配置的General部分

    ![输入图片说明](https://static.oschina.net/uploads/img/201607/03185651_tuTu.png "在这里输入图片标题")

    如果证书没有导入到该电脑,点击Fix Issue,就可以很方便的将证书导入到Keychains中,这一步完成之后,将相当于证书导入到电脑中了。

    2. 设置Mac的Jenkins Slave配置

    * 安装Xcode Plugin插件:这个在Jenkins的插件管理里面去安装就好了
    * 环境变量配置:Jenkins运行程序的时候,初始状态是没有任何环境变量的,需要手动配置,不然会提示说,签名错误

    环境变量 `HOME`是必须的,`USER`变量可能也会用到,这Jenkins的节点配置里面设置

    ![输入图片说明](https://static.oschina.net/uploads/img/201607/03190410_SELp.png "在这里输入图片标题")
    图片中涂掉的用户名,改成你电脑上的用户名

    * Jenkins job的配置

    * `Clean before build?` 这个勾上,苹果还是很坑的,clean下比较保险
    * `Pack application and build .ipa?` 这个不要勾选,因为`Mac OS X >= 10.10` 就不支持打ipa了,勾了反而会报错
    * `Code Signing Identity` 这个应该是可选的,证书的名字,可以打开Keychains查看到,Example `iPhone Developer: Hello Kitty (4PHMYE8812)`
    * `Xcode Project Directory` 如果项目不是在当前目录下,需要填上这个值

    其他的配置,看情况弄弄就好了,不写应该问题也不大

    最后需要生成ipa文件,增加构建步骤里面加上个`Execute Shell`, 脚本内容这样写

    ```
    TARGET=demo
    xcrun -sdk iphoneos -v PackageApplication ./build/Release-iphoneos/{TARGET}.app -o PWD/TARGET.ipa
    ```

    将其中的TARGET改成项目真正的名字

    * Jenkins文件的后续操作

    生成的文件可以上传到第三方平台,也可以简单的使用`Archive the artifacts`保存下来,这里问题应该都不大,就不具体说明了。

    ## 后记
    自己也捣鼓了好长时间,终于搞定,记录下来,以供后来者参考。



沪ICP备19023445号-2号
友情链接