博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell打包到fir 蒲公英
阅读量:6634 次
发布时间:2019-06-25

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

####开头 前面几片记录了jenkins的使用,配置一个jenkins环境,我们需要一个比较闲得笔记本做这份工作,不可能自己的本一直开着这个服务,动不动CPU风扇狂转,其他性能下降,反而会影响我们工作,怎么办了,写个shell脚本帮我们完成工程打包、上传。 ####原理 xcode在jenkins中编译、shell编译还是xcode自身编译都是需要xcode自己的IDE环境决定的,具体来说就是

xcodebuild & xcrun这俩家伙来完成复制代码

废话不多说,直接上脚本,需要的自己改一下即可。

####project打包上传

#!/usr/bin/bash#next test#1.证书#2.打包状态每部判断#设置Xcode的Build Settings->Code Signing Resource Rules Path的值为:$(SDKROOT)/ResourceRules.plist  #xcodeproj文件的绝对路径PROJECT="/Users/mac/Desktop/pro/git/MCPayDemo/MCPayDemo.xcodeproj"SCHEME="MCPayDemo"#iPhone Distribution:IDENTITY="iPhone Developer: ma jiancheng (xxxxx)"  #Distribution Provision File PathPROVISIONING_PROFILE="/Users/mac/Library/MobileDevice/Provisioning\ Profiles/ead3e7e7-a2e8-45c2-98fa-008f3712xxxx.mobileprovision"#输出ipa文件的路径, 最好是绝对路径OUTDIR="/Users/mac/Desktop/pro/git/MCPayDemo/output"PRODUCTDIR=${OUTDIR}#FIR 秘钥FIRTOKEN="5558b26ae383df7390b880xxxxxxx"#蒲公英aipKeyPAPIKEY="c1ad57c15a5bb0c770c51639xxxxxxx"#蒲公英uKeyPUKEY="d5eb8f86040b9ae6108ed4c58xxxxxxx" if [ ! -f $PROVISIONING_PROFILE ]; then    echo "Please download the provision file for "${PROVISIONING_PROFILE}    exit 4;fiecho "~~~~~~~~~~~~~~~~清理工程~~~~~~~~~~~~~~~~编译工程~~~~~~~"echo "${OUTDIR}${SCHEME}.ipa"echo "xcrun -sdk iphoneos PackageApplication -v ${PRODUCTDIR}/${SCHEME}.app -o ${OUTDIR}/${SCHEME}.ipa --sign ${IDENTITY} --embed ${PROVISIONING_PROFILE}"xcodebuild -project "${PROJECT}" -scheme "${SCHEME}" -configuration  Release clean build CODE_SIGN_IDENTITY="${IDENTITY}" -sdk iphoneos CONFIGURATION_BUILD_DIR=${OUTDIR} #打包成 .ipaecho "~~~~~~~~~~~${SCHEME}.ipa}~~~scuess"echo "xcrun -sdk iphoneos PackageApplication -v ${PRODUCTDIR}/${SCHEME}.app -o ${OUTDIR}/${SCHEME}.ipa --sign \"${IDENTITY}\" --embed ${PROVISIONING_PROFILE}"xcrun -sdk iphoneos PackageApplication -v "${PRODUCTDIR}/${SCHEME}.app" -o "${OUTDIR}/${SCHEME}.ipa"# --sign "\"${IDENTITY}\"" --embed "${PROVISIONING_PROFILE}"#上传到测试平台 -> fir.imfir p "${OUTDIR}/${SCHEME}.ipa" -T "${FIRTOKEN}"echo "-------------------->fir.im------->蒲公英---------"echo "curl -F file=@${OUTDIR}/${SCHEME}.ipa -F uKey=${PUKEY} -F _api_key=${PAPIKEY} http://www.pgyer.com/apiv1/app/upload"curl -F "file=@${OUTDIR}/${SCHEME}.ipa" -F "uKey=${PUKEY}" -F "_api_key=${PAPIKEY}" "http://www.pgyer.com/apiv1/app/upload"echo "\n\n"复制代码

####workspace打包上传

/#!/usr/bin/bash#############################################/# batch rename                         	    #/# Input  :    $1 SCHEME  					#/#             eg:需要编译的scheme    			#/# Input  :    $2 PROVISION PREFIX       	#/#             eg: mobileprovision文件的名称	###############################################next test#1.证书#2.打包状态每部判断#设置Xcode的Build Settings->Code Signing Resource Rules Path的值为:$(SDKROOT)/ResourceRules.plist  #xcodeproj文件的绝对路径[修改]WORKSPACE_PATH="/Users/mac/Desktop/car/Runnor.CarService.IosApp/"WORKSPACE_NAME="MCCarServiceiPhone"SCHEME="MCCarServiceiPhone"#生成的APP名称,根据xcode项目 plist来定APPNAME="MCCarServiceiPhone"#iPhone Distribution: FOO.IDENTITY="\"iPhone Developer: ma jiancheng (xxxxxxxxx)\""  #Distribution Provision File PathPROVISIONING_PROFILE="/Users/mac/Library/MobileDevice/Provisioning\ Profiles/ead3e7e7-a2e8-45c2-98fa-008f3712382d.mobileprovision"#输出ipa文件的路径, 最好是绝对路径OUTDIR="${WORKSPACE_PATH}/output"#FIR 秘钥FIRTOKEN="5558b26ae383df7390b880bexxxxxxx"#蒲公英aipKeyPAPIKEY="c1ad57c15a5bb0c770c51639xxxxxxx"#蒲公英uKeyPUKEY="d5eb8f86040b9ae6108ed4c5xxxxxxxx"if [ ! -f $PROVISIONING_PROFILE ]; then    echo "Please download the provision file for " ${PROVISIONING_PROFILE}    exit 4;fiecho "~~~~~~~~~~~~~~~~清理工程~~~~~~~~~~~~~~~~编译工程~~~~~~~"echo "${OUTDIR}${APPNAME}.ipa"echo "xcodebuild -workspace ${WORKSPACE_NAME}.xcworkspace -scheme ${SCHEME} -configuration  Release clean build CODE_SIGN_IDENTITY=${IDENTITY} -sdk iphoneos CONFIGURATION_BUILD_DIR=${OUTDIR}"xcodebuild -workspace "${WORKSPACE_PATH}/${WORKSPACE_NAME}.xcworkspace" -scheme "${SCHEME}" -configuration  Release clean build CODE_SIGN_IDENTITY="${IDENTITY}" -sdk iphoneos CONFIGURATION_BUILD_DIR=${OUTDIR} #打包成 .ipaecho "~~~~~~~~~~~${APPNAME}.ipa}~~~scuess"echo "xcrun -sdk iphoneos PackageApplication -v ${OUTDIR}/${APPNAME}.app -o ${OUTDIR}/${APPNAME}.ipa --sign ${IDENTITY} --embed ${PROVISIONING_PROFILE}"xcrun -sdk iphoneos PackageApplication -v "${OUTDIR}/${APPNAME}.app" -o "${OUTDIR}/${APPNAME}.ipa"# --sign "${IDENTITY}" --embed "${PROVISIONING_PROFILE}"#上传到测试平台 -> fir.imecho "-------------------->fir.im------->蒲公英---------"#fir p "${OUTDIR}/${SCHEME}.ipa" -T "${FIRTOKEN}"# ->  蒲公英echo "curl -F file=@${OUTDIR}/${APPNAME}.ipa -F uKey=${PUKEY} -F _api_key=${PAPIKEY} http://www.pgyer.com/apiv1/app/upload"curl -F "file=@${OUTDIR}/${APPNAME}.ipa" -F "uKey=${PUKEY}" -F "_api_key=${PAPIKEY}" "http://www.pgyer.com/apiv1/app/upload"echo "\n\n"#--------------------end--------------复制代码

####结语 这个shell语句写的比较简单,等闲暇会在本文优化。本文是jenkins的一个衍生,后续会在jenkins上探索一些持续构建的工作。

转载地址:http://ggbvo.baihongyu.com/

你可能感兴趣的文章
读书/看电影/看电视剧
查看>>
swfupdate flash上传工具
查看>>
闹钟开发过程中用PendingIntent传送数据丢失解决办法
查看>>
发给有道词典团队的建议信有恢复了,哈哈!
查看>>
eclipse运行maven的jetty插件内存溢出
查看>>
网址分享
查看>>
一、Android Studio入门——Eclipse快捷键配置
查看>>
mysql如何用order by 自定义排序
查看>>
opencv学习笔记(二)寻找轮廓
查看>>
macos下安装oh-my-zsh和zsh-autosuggestion
查看>>
联合主键用hibernate注解映射方式主要有三种:
查看>>
hdu2767之强联通缩点
查看>>
qualcomm permission denied for tty device
查看>>
java 内存调试 mat
查看>>
1.6 饮料供货
查看>>
python实现QQ机器人(自己主动登录,获取群消息,发送群消息)
查看>>
STL之set具体解释(二)
查看>>
IDEA远程debug的使用
查看>>
自然语言处理要解决的问题
查看>>
RVM 安装 Ruby
查看>>