iOS 自動(dòng)打包-Jenkins Shell

直接貼Shell,這個(gè)只是用來方便查看和復(fù)制。

## !/bin/sh
## 項(xiàng)目名
TARGET_NAME=XXXX
## Scheme名
SCHEME=XXXX
##=======================
## 編譯類型
BUILD_TYPE=Release
## 當(dāng)前目錄
SORCEPATH=${WORKSPACE}
## workspace名
SPACE=${WORKSPACE}/${TARGET_NAME}.xcworkspace
##xcarchive文件的存放路徑
ARCHIVEPATH=$SORCEPATH/build/$SCHEME.xcarchive
## ipa文件的存放路徑
EXPORTPATH=$SORCEPATH/build/$SCHEME
## ExportOptions.plist文件的存放路徑
EXPORTOPTIONSPLIST=$SORCEPATH/build/ExportOptions.plist
## 導(dǎo)出后的ipa路徑
EXPORTPATHIPA=$SORCEPATH/build/$SCHEME/$SCHEME.ipa

echo -e "============First Build Clean============"
## 清理緩存
xcodebuild clean -workspace $SPACE -scheme ${SCHEME} -configuration ${BUILD_TYPE}

echo -e "============Build Clean============"
## 輸出關(guān)鍵信息
echo -e "  TARGET_NAME    : ${TARGET_NAME}"
echo -e "  BUILD_TYPE    : ${BUILD_TYPE}"
echo -e "  SORCEPATH    : ${SORCEPATH}"
echo -e "  ARCHIVEPATH    : ${ARCHIVEPATH}"
echo -e "  EXPORTPATH    : ${EXPORTPATH}"
echo -e "  EXPORTOPTIONSPLIST    : ${EXPORTOPTIONSPLIST}"

echo -e "============Build Archive============"

## 導(dǎo)出archive包
xcodebuild archive -workspace ${SPACE} -scheme ${SCHEME} -archivePath $ARCHIVEPATH

echo -e "============Build Archive Success============"

echo -e "============Export IPA============"

## 導(dǎo)出IPA包
xcodebuild -exportArchive -archivePath $ARCHIVEPATH -exportPath ${EXPORTPATH} -exportOptionsPlist ${EXPORTOPTIONSPLIST}

echo -e "============Export IPA SUCCESS============"

## 編譯完成時(shí)間 20181030_0931
BUILD_DATE="$(date +'%Y%m%d_%H%M')"

## info.plist路徑
PROJECT_INFOPLIST_PATH="${SORCEPATH}/${TARGET_NAME}/Info.plist"
## 取版本號(hào)
BUNDLESHORTVERSION=$(/usr/libexec/PlistBuddy -c "print CFBundleShortVersionString" "${PROJECT_INFOPLIST_PATH}")
## 取build值
VERSION=$(/usr/libexec/PlistBuddy -c "print CFBundleVersion" "${PROJECT_INFOPLIST_PATH}")
## ipa更名規(guī)則  項(xiàng)目名V版本_年月日_時(shí)分
IPANAME="${TARGET_NAME}V${BUNDLESHORTVERSION}_${BUILD_DATE}.ipa"
## 更名后ipa路徑
EXPORTPATHNEWIPA=$EXPORTPATH/$IPANAME

echo -e "============Export end :${BUILD_DATE}============"
echo -e "============IPA Old Name: ${EXPORTPATHIPA}============"
echo -e "============IPA New Name: ${EXPORTPATHNEWIPA}============"

## IPA更名
cp $EXPORTPATHIPA $EXPORTPATHNEWIPA

echo -e "============Create New Name Success============"

## 刪除老IPA
rm $EXPORTPATHIPA

echo -e "============Delete Old Name Success============"
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 官網(wǎng) 中文版本 好的網(wǎng)站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,742評(píng)論 0 5
  • 媽媽,你那一袋花種子呢,如果我拿著它走到橋上把花總?cè)鱿聛?,那不成了我在撒花種嗎?你就不用種花了,你高興嗎?
    鄭宇辰閱讀 360評(píng)論 0 1
  • vue父組件給子組件傳值 父組件給導(dǎo)入的子組件綁定一個(gè)數(shù)據(jù):title是父組件的數(shù)據(jù) 2 子組件獲取數(shù)據(jù). pr...
    super靜_jingjing閱讀 327評(píng)論 0 1
  • 公司原本用的是SVN,現(xiàn)在要換成Git,研究了好久,經(jīng)歷了各種坑,現(xiàn)在總結(jié)一下,有說的不對(duì)的地方,歡迎各位指...
    Jay_zeal閱讀 3,521評(píng)論 2 2
  • 這是一個(gè)關(guān)于夢(mèng)境的故事,或者叫做夢(mèng)鏡吧
    Doremifasou閱讀 165評(píng)論 0 0

友情鏈接更多精彩內(nèi)容