shell 脚本自动发布 APP
2017-11-22 10:52
260 查看
devtool.sh 脚本:
#!/usr/local/bin/bash -e ######################################### # Main ######################################### function doBuildApk (){ echo "========================================" echo "Build apk begin ..." echo "========================================" cd .. fastlane do_pack_apk echo "========================================" echo "Build apk OK." echo "========================================" } ######################################### # LEGU Reinforce ######################################### function doLegu (){ echo "========================================" echo "LEGU Reinforce Begin ..." echo "========================================" cd libs java -jar leguapi.jar skey sid ../build/outputs/apk/xxx.apk ../build/outputs/apk } ######################################### # Rename apk ######################################### function doRename (){ echo "========================================" echo "Rename Apk Begin ..." echo "========================================" cd build/outputs/apk mv xxx_legu.apk xxx.apk cd ../../../.. echo "========================================" echo "Rename Apk OK." echo "========================================" } ######################################### # Sign Again ######################################### function doSign (){ echo "========================================" echo "Sign Begin ..." echo "========================================" jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keypass {密码} -storepass {密码} -keystore {签名文件}(keystore.jks) build/outputs/apk/xxx.apk keystore echo "========================================" echo "Sign OK." echo "========================================" } ######################################### # Login beta fir.im #########################################java function doLoginBetaFirim(){ echo "========================================" echo "Login beta fir.im begin ..." echo "========================================" fir login {API token} echo "========================================" echo "Login beta fir.im OK." echo "========================================" } ######################################### # Login stag fir.im #########################################java function doLoginStagFirim(){ echo "========================================" echo "Login stag fir.im begin ..." echo "========================================" fir login {API token} echo "========================================" echo "Login stag fir.im OK." echo "========================================" } ######################################### # Login release fir.im ######################################### function doLoginReleaseFirim(){ echo "========================================" echo "Login release fir.im begin ..." echo "========================================" fir login {API token} echo "========================================" echo "Login release fir.im OK." echo "========================================" } ######################################### # Upload apk to fir.im ######################################### function doUploadApk2Firim(){ echo "========================================" echo "UpLoad apk to fir.im begin ..." echo "========================================" fir publish --changelog='changelog' build/outputs/apk/xxx.apk echo "========================================" echo "UpLoad apk to fir.im OK." echo "========================================" } ######################################### # Process Args ######################################### COMMAND=$1 echo "Ready Go !" shift 1 || true case "${COMMAND}" in build) doBuildApk ;; reinforce) doLegu ;; rename) doRename ;; sign) doSign ;; beta:login) doLoginBetaFirim ;; stag:login) doLoginStagFirim ;; release:login) doLoginReleaseFirim ;; upload) doUploadApk2Firim ;; esac
其中,build 是用 fastlane 实现的,Fastfile 中
desc "Do pack an apk to common flavor" lane :do_pack_apk do |options| gradle(task: "clean") gradle(task: "assemble") gradle(build_type: "Release") end
,上传 fir.im 是用 fir-cli 插件实现的。
发布版本时,执行脚本自动化命令:
1、流程:自动化构建(fastlane)、腾讯乐固加固、重命名 apk、重新签名、登录 fir.im 、上传 apk:
进入 devtool 的根目录下(devtool.sh 文件右下方必须为 LF)
cd xxx ./devtool.sh build ./devtool.sh reinforce ./devtool.sh rename ./devtool.sh sign ./devtool.sh beta:login 或 ./devtool.sh release:login 或 ./devtool.sh stag:login ./devtool.sh upload
相关文章推荐
- 通过Git WebHooks+脚本实现自动更新发布代码之Shell脚本(二)
- 通过Git WebHooks+脚本实现自动更新发布代码之shell脚本
- 通过Git WebHooks+脚本实现自动更新发布代码之shell脚本
- Linux编写Shell脚本自动同步svn并发布maven项目-SSH连接远程服务
- Linux编写Shell脚本自动同步svn并发布maven项目-Linux服务器用户设置
- 使用shell脚本自动部署(发布,重起)maven(java)项目
- 通过Git WebHooks+脚本实现自动更新发布代码之shell脚本
- 简单使用shell 自动打包,发布项目 脚本
- linux使用shell脚本管理其他服务器Tomcat启动停止、自动发布
- 【Java工具】java项目 Idea打包发布工具,自动生成bat sh 、shell 脚本
- shell脚本 tomcat自动备份发布war包
- shell自动发布脚本
- 朋友的一个问题:Linux开机如何自动运行自己编写好的shell脚本
- Shell脚本实现在Linux系统中自动安装JDK
- Shell脚本实现自动安装zookeeper
- 一键自动发布ipa(更新svn,拷贝资源,压缩资源,加密图片资源,加密数据文件,加密lua脚本,编译代码,ipa签名,上传ftp)
- 大型项目linux自动化版本发布脚本(shell)之tomcat、nginx服务脚本
- 用shell脚本实现监控程序自动重启
- Shell脚本实现应用自动安装部署
- 通过Python脚本自动发布ArcGIS服务