自動化打包的一些實踐

這兩天在網(wǎng)上找了些自動打包的文章,精(Chao)心(Xi)整(Xiu)理(Gai)了兩份打包文件。

測試的小伙伴 ,來要測試包吧,哥不煩了。

shell

#項目路徑
project_path="XXX"
#xcworkspace 名稱
xcworkspace="XXX.xcworkspace"
#scheme 名稱
scheme="XXX"
#打包證書名稱
profilename="XXX"

#獲取當(dāng)前系統(tǒng)時間
today=`date +%Y%m%d%H%M%S`
#打包前綴名稱
ipaName="LDPX_HomeTest_V2.03_"

#archive 放置路徑
archivePath="XXX"
xcarchiveName=".xcarchive"
archiveRPath=$archivePath$ipaName$today$xcarchiveName

#打包ipa放置路徑
ipaPath="XXX"
ipa=".ipa"
ipaPathR=$ipaPath$ipaName$today$ipa
cd $project_path

echo $ipaPathR
echo $archiveRPath

echo "clean start..."
xcodebuild clean -workspace $xcworkspace -scheme CMCC_CY -configuration release
echo "clean end."
echo "compile start......"
#編譯時增加archive字段,指定archive 路徑
xcodebuild archive -workspace $xcworkspace -scheme $scheme -configuration release -sdk iphoneos9.2  IPHONEOS_DEPLOYMENT_TARGET=8.0 -archivePath $archiveRPath;
echo "compile end."
echo "xcodebuild archive start......"
#將xcrun改為 xcodebuild -exportArchive 導(dǎo)出ipa包
xcodebuild -exportArchive -archivePath $archiveRPath -exportPath $ipaPathR -exportFormat IPA -exportProvisioningProfile $profilename

echo "******xcodebuild archive  end.******"
echo $ipaPathR
echo $archiveRPath
echo "******xcodebuild archive  end.******"

python

# -*- coding: utf-8 -*-
import os
import sys
import time
# 項目根目錄
project_path = "XXX"

#activePath
activePath = "XXX/XXX.xcarchive"

# 打包后ipa存儲目錄
targerIPA_parth = "XXX"

#證書名稱
cerName = "XXX"

#測試包
#LDPX_Test_V2.01_B1.00_20161226.ipa

#家里測試包
#LDPX_TestHome_V2.01_B1.00_20161226.ipa

#上線版本
#LDPX_V2.01_B1.00_20161226.ipa

ipaName = "LDPX_HomeTest_V2.03_"

# 清理項目 創(chuàng)建build目錄
def clean_project_mkdir_build():
    os.system('cd %s;xcodebuild clean -workspace "CMCC_CY.xcworkspace" -scheme CMCC_CY -configuration release' % project_path) # clean 項目

def build_project():
    print("build release start")
    os.system ('xcodebuild -list')
    os.system ('cd %s;xcodebuild archive -workspace "CMCC_CY.xcworkspace" -scheme CMCC_CY -configuration release -sdk iphoneos9.2  IPHONEOS_DEPLOYMENT_TARGET=8.0 -archivePath %s;' % (project_path,activePath))

# 打包ipa 并且保存在桌面
def build_ipa():
    global ipa_filename
    timeSr = time.strftime('%Y%m%d%H%M%S.ipa',time.localtime(time.time()))
    ipa_filename = ipaName + timeSr
    
    os.system ('xcodebuild -exportArchive -archivePath %s -exportPath %s/%s -exportFormat IPA -exportProvisioningProfile %s'%(activePath,targerIPA_parth,ipa_filename,cerName))

def main():
    # 清理
    clean_project_mkdir_build()
    # 編譯coocaPods項目文件并 執(zhí)行編譯目錄
    build_project()
    # 打包ipa 并放置到指定路徑
    build_ipa()

# 執(zhí)行
main()

后續(xù)可優(yōu)化部分

  1. 跟新代碼庫
  • 郵件通知相關(guān)測試人員
  • 腳本寫的跟靈活點(次要。。。畢竟項目目錄、名稱不可能頻繁的改變)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

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