参考链接
相关配置文件已经上传到 GitHub 仓库,地址点击这里。
[图片上传失败...(image-bee394-1580046740118)]
效果如下:
总共折腾了一两天时间,流程基本都跑通了,还剩抓取指定时间段内的 git commit message 当做更新日志的 TODO,总体上还是很愉悦和有成就感的,以后就可以专心干其他的事情了钉钉机器人发送本地图片,打包几乎无感,也不用怕忘记。nice!
总结
使用全路径 fastlane 执行命令
解决方案:
虽然 cd 到了当前项目目录,但还是报 fastlane 找不到
原因:二、在定时脚本中直接执行 fastlane 打包命令出错: /Users/username/Desktop/code/Project/run.sh : fastlane: command not found
[图片上传失败...(image-171f02-1580046740118)]
给足访问权限就行。系统偏好设置 -> 安全性与隐私-> 完全磁盘访问权限,查看是否有勾选☑️ 在定时脚本中声明的解释执行的 shell 的路径,就是#!/bin/ 后面接的,有 bash 、sh、 zsh 等,我的是 sh。没有的话就添加进去。
解决方案:
首先我配置的定时脚本路径在 /Users/username/Desktop/code/Project/run.sh,没有和定时任务的 Plist 配置文件在一个目录下,而配置的定时脚本声明的是 #!/bin/sh钉钉机器人发送本地图片,意思是使用 /bin/sh 来解释执行,但是却没有给完全磁盘访问的权限。
[图片上传失败...(image-bb57ee-1580046740118)]
原因:一、定时脚本执行 /bin/sh: xxx/run.sh: Operation not permitted踩坑
其他企业微信好像也是可以的,可以自行去查看文档。
[图片上传失败...(image-8327e3-1580046740118)]
我这边目前使用的钉钉进行协作,可以在相关工作群使用钉钉机器人自动发送消息。找钉钉群管理员添加一下获取 token 就行。可以向这个地址 Token 发送纯文本、图文、markdown 等格式的消息,还可以填写需要 @ 的测试妹子们。
需求四、自动发送安装消息
TODO: 等待实现。
需求三、读取 git commit messge
上传到第三方内测平台(蒲公英、fir等)Fastlane 也有相关的插件,一行代码搞定,如 Fir 就是:
由于我这个是多 target 工程,所以我这边的可能多一点配置,我的 Fastfile 文件配置如下:
这个使用 fastlane 就行,很好很强大。相关的配置可参见官网,建议使用 brew 方式安装。配置安装文档就行,
需求二、自动打包
配置好了就可以加载了,加载后就生效了,相关的命令如下:
Label:对应的需要保证全局唯一性;
Program:要运行脚本;
ProgramArguments:指定要运行的脚本;
StartCalendarInterval:运行的时间,单个时间点使用 dict,多个时间点使用 array
StartInterval:时间间隔,与 StartCalendarInterval 使用其一,单位为秒
StandardInPath、StandardOutPath、StandardErrorPath:标准的输入、输出、错误文件
相关字段的解释如下:
我的配置文件是这样:
[图片上传失败...(image-210112-1580046740118)]
我们配置在用户目录下就行,也就是这个目录 ~/Library/LaunchAgents,按照固定的格式新建一个 Plist 文件就行,可以看到已经有一些第三方的任务在这里了: