您的位置:首页 > 移动开发 > IOS开发

Jenkins持续集成之iOS应用打包

2016-07-03 18:58 337 查看

面向读者

Jenkins入门即可,但需要有亲自实践过

会用Mac,了解一些Xcode的基本知识

必要条件

一台Mac电脑

苹果开发者证书

一个可以正常编译的App项目源码

环境配置

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

导入证书

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



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

设置Mac的Jenkins Slave配置

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

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

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



图片中涂掉的用户名,改成你电脑上的用户名

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改成项目真正的名字

其他常见问题

出现
/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
保存下来,这里问题应该都不大,就不具体说明了。

后记

自己也捣鼓了好长时间,终于搞定,记录下来,以供后来者参考。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  iOS jenkins iphone