IOS-APP自動化打包上傳蒲公英Shell版

#!/usr/bin/env bash
# name: admin

echo "~~~~~~~~~~~~~~~~開始執行腳本~~~~~~~~~~~~~~~~"
#開始時間
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.plist

ExportOptionsPlist=${ADHOCExportOptionsPlist}

# 是否上傳蒲公英
UPLOADPGYER=true

# git項目分支號
breach=v2.0.0

git 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
fi

endTime=`date +%s`
ExportTime="導出ipa時間$[ endTime - beginTime ]秒"

    # 上傳蒲公英
if [ $UPLOADPGYER = true ]; then
    echo "~~~~~~~~~~~~~~~~上傳ipa到蒲公英~~~~~~~~~~~~~~~~~~~"
    curl -F "file=@$IPAPATH" \
    -F "uKey=9c86dd6f*******d7d784e841d91" \
    -F "_api_key=220fd5e840f******bdb80e2e80" \
    -F "password=蒲公英密碼" \
    https://www.pgyer.com/apiv1/app/upload

    if [ $? = 0 ]
    then
	echo -e "\n"
        echo "~~~~~~~~~~~~~~~~上傳蒲公英成功~~~~~~~~~~~~~~~~~~~"
    else
	echo -e "\n"
        echo "~~~~~~~~~~~~~~~~上傳蒲公英失敗~~~~~~~~~~~~~~~~~~~"
    fi
fi



echo "~~~~~~~~~~~~~~~~配置信息~~~~~~~~~~~~~~~~~~~"
echo "開始執行腳本時間: ${DATE}"
echo "編譯模式: ${CONFIGURATION_TARGET}"
echo "導出ipa配置: ${ExportOptionsPlist}"
echo "打包文件路徑: ${ARCHIVEPATH}"
echo "導出ipa路徑: ${IPAPATH}"

echo "$ArchiveTime"
echo "$ExportTime"
exit 1

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章