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}" [email protected]:/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"

你可能感兴趣的:(Shell脚本自动打包ipa上传测试)