从iOS开发转至iOS测试开发已经有四个月了,从最初连Appium是什么都不知道,到果断舍弃,这是一边学一边实践,一路纠结的过程。至此,想总结一下最近正在研究的自动化持续集成。
开发过程中,最头疼的莫过于打包了,从Debug到Release,从各种三方库报错,到出一个包最少10分钟,在这段时间什么都干不了。所以一点点收集资料:
(3)Jenkins、Git、CocoaPods、Fir.im
因为一直用的都是Fir.im,而最近fir更新了很多工具,并且支持Jenkins自动上传包(iOS自动打包),所以一度妄想只使用fir来完成git拉取更新后自动打包并发布包至官方网页,当然,由于刚出来不久,官网给出的资料也是非常之少(fir一键打包简单的介绍),所以自己尝试着去实现这个过程。结果自然是非常不理想,且不说多个target的情况下,打包报错离奇;且在使用了Application Extension的工程中,无法完成打包。
于是不得不找到fastlane,实现打包。不论是从官方资料中看到满满的诚意(官方文档),相对git(git地址)上的教程也是相当的详细,可以说就fastlane本身的功能的来说,基本也算是足够了。
于是就开始了漫长的自动打包之旅。
当然,其中在扩展应用中出现类似于以下的报错是最为困扰的一点:
[16:05:22]:▸❌ld: library not found for -lYYModel
[16:05:22]:▸❌clang: error: linker command failed with exit code 1 (use -v to see invocation)
至今也没有找到特别简单的方法,只有不断的替换干净的工程文件,才能消除这个错误。
从安装到实现打包花了一部分时间后,自然是想用Jenkins完成自动化持续集成的,可悲的是,虽然参考了大量的文献,从错误提示中也试着去解决,但是仍然无法实现Jenkins的自动打包。当然,这个问题正在解决之中,希望在完成了近阶段对Ruby语言编写脚本(ruby简介)的理念有所了解以后,能找到解决方法。