Skip to content

iOS 持续集成方案,傻瓜式一键全自动化打包、上传工具

License

Notifications You must be signed in to change notification settings

fpxtest/Andromeda

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logo Andromeda

iOS 持续集成方案,傻瓜式一键全自动化打包、上传工具!!!(持续更新中,附加功能尚未完成)

前言:目前市面上iOS开发持续集成的方案很多,在主流的分发平台fir、蒲公英都有相应的方案介绍(Fastlane,Jenkins,实用又强大);但就实际需求来说还是不够友好;在前面使用Python为公司开发两个自动化脚本之余,产生使用Python开发一个完全傻瓜式的自动化脚本,并满足自身需求,在公司另一台Mac mini上进行自动打包上传,测试人员可HTTP调起打包上传、自动通知产品、测试相关人员。

本人Python新手,该脚本小工具、小工具、小工具目前自学自用,许多不足之处,大神见谅指教。如果您有更好的建议,可以一起学习交流。🤓

  • 语言:Python
  • 环境:Python 3.6 (3.6开发、不考虑兼容 2+)

需求来源

  • 可运行脚本 或 集成 App 使用,傻瓜式运行,随身携带,即插即用

  • 无需配置运行环境(构建Mac App)

  • 满足跨平台(PC、手机)调起打包上传(http服务)

  • 可唤起多个项目打包

  • 自动执行 git / svn 命令更新代码

  • 自动上传指定分发平台,包括App Store

  • 上传完毕通知测试等相关人员(邮件、QQ、微信)

  • 定时打包任务(后期添加)

使用方法

直接启动程序

☹️构建的Andromeda.app与开发测试时运行不一致,问题尚未明确

- 1、将app文件夹的 Andromeda.zip下载并解压。

- 2、将Andromeda文件夹 拖到 Application,配置好Andromeda.plist,启动Andromeda.app即可

- 3、将 Xcode 内的 Applications 文件夹复制一份到 Andromeda文件夹,并将 Application Loader.app 去除命名中空格重命名ApplicationLoader.app (/Applications/Xcode.app/Contents/Applications)原因见注意事项

- 4、按说明格式正确配置 Andromeda.plist

- 5、启动 Andromeda.app

python 命令启动程序

python3 Andromeda.py  (不考虑兼容 Python 2)

HTTP服务启动程序

如果你使用另一台Mac打包,那么可以启用HTTP服务,只需调用接口即可启动整个流程

// 通过浏览器内网访问
/*
target(可选) 项目Target
type(可选) 参数 构建 的IPA类型 0:appstore / 1:adhoc / 2:enterprise / 3:development
pod (可选) 执行pod 指令  install  update   update MJRefresh ....
*/
http://192.168.0.190:8989/ipa
or
http://192.168.0.190:8989/ipa?target='TargetA'&type=0&pod=update MJRefresh

原理

1、构建 archive & ipa -> xcodebuild 命令

文档(难找,自行问度娘、谷哥《xcodebuild》)

2、上传App Store Connect

文档

3、上传蒲公英 —— requests

文档

pip install requests

4、上传fir.im —— requests

文档

5、邮件通知

  • SMTP -- smtplib、email 模块

6、HTTP服务

  • Flask
pip install flask
pip install flask_restful
or
pip3 install flask
pip3 install flask_restful

关于 Andromeda

  • 该小工具、小工具、小工具目前处于自学自用

注意事项

关于上传至App Store 使用命令启动 Application Loader.app 内 altool的问题

1、由于 Xcode 内 的 Application Loader.app 命名中有空格,在命令执行打开的时候 会有错误 Application: No such file or directory,需将Application Loader.app中的空格去除 重命名 -> ApplicationLoader.app

2、为不影响Xcode内正常使用Application Loader.app(没验证,一般不会在Xcode内用),建议将Application Loader.app 所在 Applications文件夹复制到 Andromeda 配置文件夹 Andromeda 内(或其他地方也行)并重命名Application Loader.app

3、在 Andromeda.plist 内正确输入 ApplicationLoader.app 地址

About

iOS 持续集成方案,傻瓜式一键全自动化打包、上传工具

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%