工具介绍
1. bundler
2. cocoapods
Command Line
比方 xcrun —find ld,用于定位ld工具的位置。xcrun git —version,则是直接运行git —version命令。
- http://youandthegang.com/2015/continuous-integration-delivery-with-jenkins/
- http://segmentfault.com/a/1190000002423661
- <Pro iOS Continuous Integration>
Jenkins
1. 安装启动
-jar jenkins.war" 启动jenkins,也能够通过 —httpPort 和 —httpListenAddress 指定port和设定IP来启动。
2. Jenkins基本设置
启用安全以下选择,“Jenkins专实用户数据库”。勾选同意用户能够注冊。然后在“授权策略”中选择“不论什么用户能够做不论什么事(没有不论什么限制)”。当然,也能够使用LDAP身份认证机制,直接使用外部统一的身份机制来做认证。
3. 设置git
生成SSH keys的过程详细请參考:https://help.github.com/articles/generating-ssh-keys/,对git比較熟悉的话。这个过程应该不会陌生。记得不要忘记把public
key加入 repo的訪问权限中,不管是github/gitlab/bitbucket都是类似的。运行以下两行命令,直接到输入框里粘贴就可以。
4. Jenkins Job设置
5. fastlane
在查看fastlane之后,我发现fastlane的确很强大。能够大大简化我们的工作。尤其适合个人开发人员,可是这个还是有一定学习成本的。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
- delivery:用于上传应用的二进制代码,应用截屏和原数据到 App Store
- snapshot:能够自己主动化iOS应用在每一个设备上的本地化截屏过程
- frameit:用于在应用截屏外加入设备的边框
- PEM:能够自己主动化生成和更新应用推送通知描写叙述文件
- sigh:能够生成并下载开发人员的应用商店配置文件
- product:能够使用命令行在iTunes Connect中创建iOS应用以及Developer Portal
- cert:能够自己主动创建并维护iOS的签名证书
- codes:使用命令行来生成应用的优惠码
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
“bundle install” 或者 “pod update”命令,然后把这些改动push到origin上就可以。
6. 实现不同类型的应用
beta/alpha版本号实现的方式研究,这部分在<Pro Continuous Integration>有具体说明,在”Multiple Versions of the Application”章节内。
參考资料:
- <Pro iOS Continuous Integration>
- https://medium.com/ribot-labs/continuous-integration-deployment-for-ios-projects-7358b72ca2e9 (翻译:http://www.jianshu.com/p/9ae446d76271),对于CI的各个方面覆盖很全面,能够參考这个拓展CI的使用
- http://youandthegang.com/2015/continuous-integration-delivery-with-jenkins/
- http://9elements.com/io/index.php/continuous-integration-of-ios-projects-using-jenkins-cocoapods-and-kiwi/
- jenkins + 蒲公英: http://answerhuang.duapp.com/index.php/2015/04/19/jenkins/
- http://williamzang.com/blog/2014/07/23/shi-yong-jenkins-plus-calabash-plus-cocoapodsda-jian-ioschi-xu-ji-cheng-huan-jing/
- https://github.com/artsy/eigen
- http://www.objc.io/issues/6-build-tools/travis-ci/
- dysm分析工具:http://answerhuang.duapp.com/index.php/2014/07/06/dsym_tool/
- <Xcode continuous integration guide>
- http://macminicolo.net/dayone
- http://savvyapps.com/blog/continuous-integration-ios-jenkins/