公司APP定制比较多,需要替换启动图,icon,图标,国际化语言等等,每次做一个定制要耽误至少一两个小时,有时一天要做好几个,搞得心力交瘁,没有一点技术含量,纯体力活,就想着能够自动更新资源然后打包节省时间做更有意义的工作。于是采用了python处理资源,使用jenkin自动打包。通过此方法,我只要把资源替换就可以了,执行脚本等一会ipa就打好了。
步骤:
1.规定好需要替换的资源的名称,格式,文本格式等。
2.写脚本resourceDeal.py,读取配置文件,然后根据配置文件内容修改工程。
3.执行脚本resourceDeal.py,脚本启动Jenkins远程打包命令。
4.Jenkins中配置打包完成执行的脚本afterPack.py,脚本中把文件放入指定文件修改名称并上传。
在resourceDeal.py中做了三件事
1.在执行替换资源前,先执行清空git 工作区命令,目的是保持工程文件是原始的,之前替换的资源需要清空
def clearGit():
# try:
with subprocess.Popen('git checkout .', cwd='/Users/mini5/Desktop/工程定制/V1.2.6Custom', stdout=subprocess.PIPE, shell=True) as proc:
for line in proc.stdout:
print(line)
2.清空git工作区后读取配置文件和图片,读取成功后执行替换资源的方法(根据实际情况处理)
3.执行Jenkins远程打包命令
def jenkinsTrigger():
webbrowser.open('http://*.*.*.*:8080/job/SmartHomeV5Test/build?token=123456')
token是jenkins中执行远程命令设置的,后面会写到。
Jenkins配置参考网上资料。
Jenkins配置有两个地方需注意
构建触发器选择触发远程构建,身份验证令牌就是上面的token.
构建后步骤增加选择Execute a set of scripts,在build step中增加execute shell中输入/usr/bin/python /Users/mini5/Customized/iOS/afterPack.py
整个流程就OK了