Jenkins持续集成之iOS应用打包

面向读者

  1. Jenkins入门便可,但须要有亲自实践过
  2. 会用Mac,了解一些Xcode的基本知识

必要条件

  1. 一台Mac电脑
  2. 苹果开发者证书
  3. 一个能够正常编译的App项目源码

环境配置

iOS的打包主要是分为导入证书,以及xcodebuild编译了swift

导入证书

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

输入图片说明

若是证书没有导入到该电脑,点击Fix Issue,就能够很方便的将证书导入到Keychains中,这一步完成以后,将至关于证书导入到电脑中了。app

设置Mac的Jenkins Slave配置

  • 安装Xcode Plugin插件:这个在Jenkins的插件管理里面去安装就行了iphone

  • 环境变量配置:Jenkins运行程序的时候,初始状态是没有任何环境变量的,须要手动配置,否则会提示说,签名错误ui

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

    输入图片说明 图片中涂掉的用户名,改为你电脑上的用户名code

  • 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 若是项目不是在当前目录下,须要填上这个值

    其余的配置,看状况弄弄就行了,不写应该问题也不大ip

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

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

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

其余常见问题

  1. 出现 /libswiftCore.dylib: codesign failed with exit code 1

    Xcode Plugin的Code signing & OS X keychain options这个选项下面的Unlock Keychains? 这个选项勾上,Keychain path填上${HOME}/Library/Keychains/login.keychain 密码填上Mac当前用户的密码,再次编译就行了(纯属试验出来的,彻底不知道怎么回事,第一次成功后,即便是不勾选,第二次也会成功)。

  • Jenkins文件的后续操做

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

后记

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

相关文章
相关标签/搜索