Shell脚本自动打包ipa上传测试

公司就我一个iOS开发,感觉平时打包上传都挺浪费时间,也没资源专门搞个CI。
so自己写了个Shell脚本一键上传测试包

#!/usr/bin/bash
# 工程名
PROJECT_NAME="工程名"
# scheme Name
SCHEME_NAME="scheme名称"
# 证书
CODE_SIGN_DISTRIBUTION="iPhone Distribution: xxxx"
# info.plist路径
INFO_PLIST_PATH="./${PROJECT_NAME}/Supporting Files/info.plist"
# 输出ipa目录
OUTPUT_IPA_DIR=~/Desktop/"${PROJECT_NAME}_IPA"
# 上传ipa名称
UPLOAD_IPA_NAME="${PROJECT_NAME}.ipa"

#创建输出ipa文件夹
if [ ! -d "${OUTPUT_IPA_DIR}" ]; then
    mkdir "${OUTPUT_IPA_DIR}"
fi

#取版本号
echo "${INFO_PLIST_PATH}"
bundleShortVersion=$(/usr/libexec/PlistBuddy -c "print CFBundleShortVersionString" "${INFO_PLIST_PATH}")

#取build值
bundleVersion=$(/usr/libexec/PlistBuddy -c "print CFBundleVersion" "${INFO_PLIST_PATH}")

DATE="$(date +%Y%m%d)"
IPANAME="${PROJECT_NAME}_V${bundleShortVersion}_${DATE}.ipa"

# # //下面2行是没有Cocopods的用法
# echo "=================clean================="
# xcodebuild -target "${PROJECT_NAME}"  -configuration 'Release' clean

# echo "+++++++++++++++++build+++++++++++++++++"
# xcodebuild -target "${PROJECT_NAME}" -sdk iphoneos -configuration 'Release' CODE_SIGN_IDENTITY="${CODE_SIGN_DISTRIBUTION}" SYMROOT='$(PWD)'

# //下面2行是集成有Cocopods的用法
echo "=================clean================="
xcodebuild -workspace "${PROJECT_NAME}.xcworkspace" -scheme "${PROJECT_NAME}"  -configuration 'Release' clean

echo "+++++++++++++++++build+++++++++++++++++"
xcodebuild -workspace "${PROJECT_NAME}.xcworkspace" -scheme "${SCHEME_NAME}" -sdk iphoneos -configuration 'Release' CODE_SIGN_IDENTITY="${CODE_SIGN_DISTRIBUTION}" SYMROOT='$(PWD)'

xcrun -sdk iphoneos PackageApplication "./Release-iphoneos/${SCHEME_NAME}.app" -o "${OUTPUT_IPA_DIR}/${IPANAME}"

#上传测试
#服务器密码
SER_PASSWORD="123456"

重命名
cp "${output_ipa_dir}/${IPANAME}" "${output_ipa_dir}/${UPLOAD_IPA_NAME}"

#上传到自己服务器
expect -c "
spawn scp -P 18888 "${output_ipa_dir}/${UPLOAD_IPA_NAME}" ouer@10.8.11.11:/ouer/nginx/html/ad/packages/
expect {
\"*assword\" {set timeout 300; send \"${SER_PASSWORD}\r\";}
\"yes/no\" {send \"yes\r\"; exp_continue;}
}
expect eof"

#上传到蒲公英
#蒲公英aipKey
APIKEY="15adaxxxxxxxxxxxxxxxxxxxxxxxxxx"
#蒲公英uKey
UKEY="745cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

echo "--------蒲公英${output_ipa_dir}/${UPLOAD_IPA_NAME}---------"

curl -F "file=@${output_ipa_dir}/${UPLOAD_IPA_NAME}" \
-F "uKey=${UKEY}" \
-F "_api_key=${APIKEY}" \
https://www.pgyer.com/apiv1/app/upload

echo "\n\n"
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,916评论 25 708
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,196评论 4 61
  • 以前听朋友说过这本书,但也仅仅是简单的看了几页,在这段时间里自己也抽空多看了一些,从而使自己对这本书的理解更...
    江上钓鳖客阅读 226评论 0 1
  • 我不知从什么时候开始,我……爱上了他。虽然是那样的平凡,但我却不知为何喜欢他?他在班上很是受女生欢迎,所以他跟女性...
    迷茫初恋阅读 142评论 1 1
  • 每个人来到世上,都想不枉此生吧? 可究竟怎么活,才能达到你要的状态,是值得商榷的。 在微课中,见识到一位浴火重生的...
    雨果的天空阅读 172评论 0 2