博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
移动端自动打包平台
阅读量:4579 次
发布时间:2019-06-09

本文共 3282 字,大约阅读时间需要 10 分钟。

 

记录之前做过的一些东西,避免忘了。。。

自动打包的流程

 

 
 

 

Jenkins配置项目

源码管理

 

 
 

 

构建触发器

查询Git服务器的代码是否有提交

 

 
 

 

Android Gradle编译

-Plog_enable_cmd='true'    是否开启log开关(线上设置的false)-Pserver_environment_cmd='测试'    传一个全局属性,编译指定的环境-q config    执行config任务,使上面两个全局属性生效
 
 
 

 

iOS xcodebuild编译

xcodebuild先编译成.app文件-workspace  工程的.xcworkspace路径-scheme  在工程目录下,xcodebuild -list查询-configuration  在xcode新建三个configuration,用以区分测试、仿真、线上环境-derivedDataPath build目录xcrun把.app文件编译成.ipa文件-sdk  iOS sdk,iphoneos是真机-v 要编译的.app文件路径-o .ipa输出路口 
 
 

构建后操作

执行Python脚本,做以下的事情:

1. 拿到此次编译的环境和版本号(到项目文件查询)2. 修改安装包名字,格式:项目名_版本号_环境_时间戳.apk3. 生成下载地址二维码和下载页(每个app都有自己的二维码下载地址和下载页,类似蒲公英,扫描二维码跳转app下载页)4. iOS每个安装包需要配置一个plist文件,配置app信息,用于下载 (下面有模板)5. 上传二维码图片、下载页和安装包到下载服务器6. 保存安装包数据到数据库

 

 
 

 

iOS的安装命令(在下载页的“下载安装”按钮里配置的此命令)

下面的命令可以在线安装iOS的ipa安装包,url后面跟plist文件地址

plist文件里面要配置你的安装包的一些信息,下面有模板。
每次执行python脚本的时候生成一个plist文件用于下载

itms-services://?action=download-manifest&url=plist文件url

plist文件模板

items
assets
kind
software-package
url
此处填写ipa文件的下载地址,如http://xxx.xxx/xxxx.ipa
metadata
bundle-identifier
此处填写工程的bundle-identifier
bundle-version
此处填写工程的版本号
kind
software
title

 

生成二维码

def gen_qrcode(install_app, config_info, file_name, ftp_url, project_path):    qr = qrcode.QRCode(        version=1,        error_correction=qrcode.constants.ERROR_CORRECT_L,        box_size=4,        border=1    )    image_name = file_name.replace(".ipa", "") + ".png"    qr.add_data(install_app)    qr.make(fit=True)    img = qr.make_image()    img.save(project_path + image_name)

 

编译失败发送报警邮件

用的Editable Email Notification插件

 
 

 

下载页面

数据库表

CREATE TABLE `app_info` (  `id` bigint(20) NOT NULL AUTO_INCREMENT,  `app_name` varchar(150) DEFAULT NULL COMMENT '安装包名称',  `os_name` varchar(50) DEFAULT NULL COMMENT '手机系统(Android, IOS)',  `config` varchar(50) DEFAULT NULL COMMENT '环境(测试-1,仿真-2,线上-3)',  `versions` varchar(50) DEFAULT NULL COMMENT '版本号',  `app_path` varchar(200) DEFAULT NULL COMMENT '安装包地址',  `qrcode_path` varchar(150) DEFAULT NULL COMMENT '二维码图片地址',  `app_time` datetime DEFAULT NULL COMMENT '安装包生成时间',  PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=1624 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;

Eclipse可直接导入

APP下载主页 

 

扫描二维码下载页

def create_html(file_path, html_name, install_app):    print "生成html文件"    file = open(file_path + "html/" + html_name, 'w')    file.write(u'\         \         \            
\ 安装APP \
\ \ \
\
\
\
请用浏览器打开
\
点击安装后,请按 Home 键在桌面查看
\
点击安装 \
\
\
\ \ \ ') file.close()

 

 

转载于:https://www.cnblogs.com/xiaoluosun/p/6825626.html

你可能感兴趣的文章
Centos以rpm方式进行安装MySql
查看>>
java中使用session的一些细节
查看>>
浏览器输入服务器端口号来访问html网页
查看>>
hdu 6435 CSGO(最大曼哈顿距离)
查看>>
logback框架之——日志分割所带来的潜在问题
查看>>
链路追踪工具之Zipkin学习小记
查看>>
iOS中通讯录的开发
查看>>
怎么让table中的<td>内容向上对齐
查看>>
[Java] 遍历HashMap和HashMap转换成List的两种方式
查看>>
mongodb
查看>>
LeetCode 46. Permutations
查看>>
jmeter- 性能测试3:聚合报告(Aggregate Report )
查看>>
JavaScript高级程序设计---学习笔记(二)
查看>>
vim 插件的学习
查看>>
Uncaught SyntaxError: Unexpected token ILLEGAL
查看>>
一个预处理定义的问题
查看>>
ANDROID L——Material Design综合应用(Demo)
查看>>
自我介绍以及关于软件工程的问题
查看>>
struts (一)
查看>>
【新番推荐】工作细胞
查看>>