IOS-APP自动化打包上传蒲公英Shell版
#!/usr/bin/env bash
# name: adminecho "~~~~~~~~~~~~~~~~开始执行脚本~~~~~~~~~~~~~~~~"
#开始时间
beginTime=`date +%s`
DATE=`date '+%Y-%m-%d-%T'`
#需要编译的 targetName
TARGET_NAME="WheatMoneyManagement"
#编译模式 工程默认有 Debug Release
CONFIGURATION_TARGET=Release
#编译路径
BUILDPATH=/opt/demo/build/${TARGET_NAME}_${DATE}
#archivePath
ARCHIVEPATH=${BUILDPATH}/${TARGET_NAME}.xcarchive
#输出的ipa目录
IPAPATH=/Users/admin/Desktop#导出ipa 所需plist
ADHOCExportOptionsPlist=${ARCHIVEPATH}/Info.plistExportOptionsPlist=${ADHOCExportOptionsPlist}# 是否上传蒲公英
UPLOADPGYER=true# git项目分支号
breach=v2.0.0git clone -b $breach 项目git地址echo "~~~~~~~~~~~~~~~~开始构建~~~~~~~~~~~~~~~~~~~"
#开始构建
xcodebuild archive -workspace ${TARGET_NAME}.xcworkspace \
-scheme ${TARGET_NAME} \
-archivePath ${ARCHIVEPATH} \
-configuration ${CONFIGURATION_TARGET}echo "~~~~~~~~~~~~~~~~检查是否构建成功~~~~~~~~~~~~~~~~~~~"
# xcarchive 实际是一个文件夹不是一个文件所以使用 -d 判断
if [ -d "$ARCHIVEPATH" ]
then
echo "构建成功......"
else
echo "构建失败......"
rm -rf $BUILDPATH
exit 1
fi
endTime=`date +%s`
ArchiveTime="构建时间$[ endTime - beginTime ]秒"echo "~~~~~~~~~~~~~~~~导出ipa~~~~~~~~~~~~~~~~~~~"beginTime=`date +%s`xcodebuild -exportArchive \
-archivePath ${ARCHIVEPATH} \
-exportOptionsPlist ${ExportOptionsPlist} \
-exportPath ${IPAPATH}echo "~~~~~~~~~~~~~~~~检查是否成功导出ipa~~~~~~~~~~~~~~~~~~~"
IPAPATH=${IPAPATH}/${TARGET_NAME}.ipa
if [ -f "$IPAPATH" ]
then
echo "导出ipa成功......"
else
echo "导出ipa失败......"
# 结束时间
endTime=`date +%s`
echo "$ArchiveTime"
echo "导出ipa时间$[ endTime - beginTime ]秒"
exit 1
fiendTime=`date +%s`
ExportTime="导出ipa时间$[ endTime - beginTime ]秒"# 上传蒲公英
if [ $UPLOADPGYER = true ]; thenecho "~~~~~~~~~~~~~~~~上传ipa到蒲公英~~~~~~~~~~~~~~~~~~~"curl -F "file=@$IPAPATH" \-F "uKey=9c86dd6f*******d7d784e841d91" \-F "_api_key=220fd5e840f******bdb80e2e80" \-F "password=蒲公英密码" \https://www.pgyer.com/apiv1/app/uploadif [ $? = 0 ]thenecho -e "\n"echo "~~~~~~~~~~~~~~~~上传蒲公英成功~~~~~~~~~~~~~~~~~~~"elseecho -e "\n"echo "~~~~~~~~~~~~~~~~上传蒲公英失败~~~~~~~~~~~~~~~~~~~"fi
fiecho "~~~~~~~~~~~~~~~~配置信息~~~~~~~~~~~~~~~~~~~"
echo "开始执行脚本时间: ${DATE}"
echo "编译模式: ${CONFIGURATION_TARGET}"
echo "导出ipa配置: ${ExportOptionsPlist}"
echo "打包文件路径: ${ARCHIVEPATH}"
echo "导出ipa路径: ${IPAPATH}"echo "$ArchiveTime"
echo "$ExportTime"
exit 1
IOS-APP自动化打包上传蒲公英Shell版相关推荐
- iOS Jenkins自动化打包 上传fir、蒲公英、邮件、钉钉提醒
一.环境配置 注意,本文章是以Jenkins2.263.4为例 1.首先安装Java环境:官网下载地址 2.安装Jenkins 建议下载Jenkins 2.263.4版本,因为最新版本存在login. ...
- iOS基于jenkins打包+上传蒲公英+钉钉群通知
背景:iOS稍微大一点的项目,archive一次需要十几分钟,对开发而言,有时候需要切换分支打包,如果异地办公的情况还要提供测试包,非常麻烦,所以提供远程打包是必不可少的. 一.本地配置jenkins ...
- Xcode + cocoapods + jenkins + fastlane + git + 蒲公英自动化打包 上传
Xcode + cocoapods + jenkins + fastlane + git + 蒲公英自动化打包 上传 构建自动化步骤为: 1. Xcode 有Xcode 内部提供的打包命令来打包完成代 ...
- Jenkins实现android自动打包 上传蒲公英及fir.im
下载jenkins https://jenkins.io/index.html 下载后得到jenkins.msi文件,直接安装 访问http://localhost:8080 选择安装推荐的插件之后进 ...
- iOS 使用 Fastlane 打包上传 App 到蒲公英
前置条件 开发者使用的是 mac 或 linux 系统. 已经安装好 ruby.rubygems.bundler. 已经安装了 Fastlane.如果没有安装,请参考:官方安装指南. 本示例使用环境为 ...
- 初窥 fastlane 一键打包上传蒲公英平台和App Store
很久之前就听说自动化打包如何方便,只是自己一直没有去尝试过,最近因为项目需求,自己也尝试了一把.关于fastlane网上资料非常多,功能如何强大,自动化测试.证书管理.截屏等.但是我这里只使用自动化打 ...
- android 蒲公英 类似平台,Jenkins之android APP打包上传蒲公英平台
1. 需求 实现android项目的系统化打包以及各版本apk归档管理并通过蒲公英平台API自动上传到蒲公英平台(之前是android开发自己开发工具手动打包再上传蒲公英) 2. 实现方式 jenki ...
- iOS 打包上传蒲公英和AppStore出问题
Failed to locate or generate matching signing assets Xcode attempted to locate or generate matching ...
- iOS证书申请打包上传App Store审核完整流程(7个步骤)
上架基本需求资料 1.苹果开发者账号 2.开发好的APP 通过本篇教程,可以学习到ios证书申请和打包ipa上传到appstoreconnect.apple.com进行TestFlight测试然后提交 ...
最新文章
- 编写高质量JavaScript代码的基本技巧
- python散点图点的大小-python散点图面积大小比例轴长度
- python-第二块:time模块和datatime模块
- 【30集iCore3_ADP出厂源代码(ARM部分)讲解视频】30-7底层驱动之滴嗒定时器
- 关于问题 SAP ABAP ME2O 事物码如何(是否可以)打印发货单?如何自己找到答案
- Qt把已有工程添加到其他工程中作为子工程或新创建子工程
- 【VB.NET】测验题目Quiz1
- Jmeter-JDBC Request
- 在Unity3D中实现安卓平台的本地通知推送
- Linux性能及调优指南(翻译)
- Android 高级控件ListView用法
- java-抽奖小程序
- 总结:python paramiko winrm
- 含泪整理最优质鲜肉VRay材质球素材,你想要的这里都有
- 如何提高Python编程能力?
- 微星z370安装linux系统,微星主板Z370、Z270、H110、H170设置U盘启动,U盘启动快捷键...
- 华为鸿蒙2.0来了,挑战谷歌安卓APP成关键?
- Centos7 搭建LNMP架构服务器实战
- (中石油七)问题 J: 位置2016(水题)
- MySQL mysqld dead but subsys locked的解决办法_张童瑶的博客