Python实现一个简单的自定义构建脚步
最近项目组要搞一个类似涂鸦科技的OEM平台,可以快速的定制应用,构建并且发布;这次我不再写前端了,而去负责构建服务的工作。
难点
- android和iOS自动化签名打包
- 和主服务的通行方式
- 怎么让它更好玩
设计
首先选择服务器,因为考虑到iOS的打包,这边选择一个老款的Mini作为服务器;通行方式选择websocket + jsonRPC;脚本选择Python;iOS重签名用fastLine,android使用apkTool
大概的时序图
开发过程中碰到的问题
-
Python3 环境,这个实在太恶劣了,最后没办法选择Anaconda
-
iOS 证书安装问题,
security unlock-keychain -p "<Password>" ~/Library/Keychains/login.keychain
-
通过python获取证书的identify
import pyOpenssl p12 = load_pkcs12(file("./path/to/your.p12", 'rb').read(), 'YOUR_P12_PASSWORD') print(p12.get_friendlyname()) #如果返回的结果有`u 最好decode(utf-8)
接下来就是一些业务逻辑了,没啥好讲的;完成这些功能后,这个重新构建脚本就是完全自动化。
总结
因为时间比较紧迫,原本想通过jenkins方式,python只负责通讯和业务逻辑,这样的好处在于非常方便直观的查看每次的构建日志。反正现在丢在哪里也比较稳定,也不想折腾了。