#!/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版相关推荐

  1. iOS Jenkins自动化打包 上传fir、蒲公英、邮件、钉钉提醒

    一.环境配置 注意,本文章是以Jenkins2.263.4为例 1.首先安装Java环境:官网下载地址 2.安装Jenkins 建议下载Jenkins 2.263.4版本,因为最新版本存在login. ...

  2. iOS基于jenkins打包+上传蒲公英+钉钉群通知

    背景:iOS稍微大一点的项目,archive一次需要十几分钟,对开发而言,有时候需要切换分支打包,如果异地办公的情况还要提供测试包,非常麻烦,所以提供远程打包是必不可少的. 一.本地配置jenkins ...

  3. Xcode + cocoapods + jenkins + fastlane + git + 蒲公英自动化打包 上传

    Xcode + cocoapods + jenkins + fastlane + git + 蒲公英自动化打包 上传 构建自动化步骤为: 1. Xcode 有Xcode 内部提供的打包命令来打包完成代 ...

  4. Jenkins实现android自动打包 上传蒲公英及fir.im

    下载jenkins https://jenkins.io/index.html 下载后得到jenkins.msi文件,直接安装 访问http://localhost:8080 选择安装推荐的插件之后进 ...

  5. iOS 使用 Fastlane 打包上传 App 到蒲公英

    前置条件 开发者使用的是 mac 或 linux 系统. 已经安装好 ruby.rubygems.bundler. 已经安装了 Fastlane.如果没有安装,请参考:官方安装指南. 本示例使用环境为 ...

  6. 初窥 fastlane 一键打包上传蒲公英平台和App Store

    很久之前就听说自动化打包如何方便,只是自己一直没有去尝试过,最近因为项目需求,自己也尝试了一把.关于fastlane网上资料非常多,功能如何强大,自动化测试.证书管理.截屏等.但是我这里只使用自动化打 ...

  7. android 蒲公英 类似平台,Jenkins之android APP打包上传蒲公英平台

    1. 需求 实现android项目的系统化打包以及各版本apk归档管理并通过蒲公英平台API自动上传到蒲公英平台(之前是android开发自己开发工具手动打包再上传蒲公英) 2. 实现方式 jenki ...

  8. iOS 打包上传蒲公英和AppStore出问题

    Failed to locate or generate matching signing assets Xcode attempted to locate or generate matching ...

  9. iOS证书申请打包上传App Store审核完整流程(7个步骤)

    上架基本需求资料 1.苹果开发者账号 2.开发好的APP 通过本篇教程,可以学习到ios证书申请和打包ipa上传到appstoreconnect.apple.com进行TestFlight测试然后提交 ...

最新文章

  1. 编写高质量JavaScript代码的基本技巧
  2. python散点图点的大小-python散点图面积大小比例轴长度
  3. python-第二块:time模块和datatime模块
  4. 【30集iCore3_ADP出厂源代码(ARM部分)讲解视频】30-7底层驱动之滴嗒定时器
  5. 关于问题 SAP ABAP ME2O 事物码如何(是否可以)打印发货单?如何自己找到答案
  6. Qt把已有工程添加到其他工程中作为子工程或新创建子工程
  7. 【VB.NET】测验题目Quiz1
  8. Jmeter-JDBC Request
  9. 在Unity3D中实现安卓平台的本地通知推送
  10. Linux性能及调优指南(翻译)
  11. Android 高级控件ListView用法
  12. java-抽奖小程序
  13. 总结:python paramiko winrm
  14. 含泪整理最优质鲜肉VRay材质球素材,你想要的这里都有
  15. 如何提高Python编程能力?
  16. 微星z370安装linux系统,微星主板Z370、Z270、H110、H170设置U盘启动,U盘启动快捷键...
  17. 华为鸿蒙2.0来了,挑战谷歌安卓APP成关键?
  18. Centos7 搭建LNMP架构服务器实战
  19. (中石油七)问题 J: 位置2016(水题)
  20. MySQL mysqld dead but subsys locked的解决办法_张童瑶的博客

热门文章

  1. Netty 大文件传输
  2. 软件工程第六章——详细设计
  3. superset、metabase、redash、dataease开源BI对比
  4. STM32 AT24C64 Hal库写入错误
  5. Linux安装GaussDB数据库图文,GaussDB 100 on Linux安装手册
  6. 打开ps提示计算机中丢失,ps打开出现dll文件丢失怎么解决
  7. hiredis使用简介
  8. 2D激光雷达和视觉相结合的SLAM概述
  9. AFNetworking的使用
  10. 【matlab报错问题个人总结】数组超出索引维度