fastlane實現自動化打包上傳測試平臺
<a href="https://github.com/fastlane/fastlane">fastlane</a>是什麼?懶人的福利,實現各種自動化操作的工具。
<a href="https://github.com/fastlane/fastlane">fastlane</a>可以幹什麼?
Fastlane是用Ruby語言編寫的一套自動化工具集和框架,每一個工具實際都對應一個Ruby指令碼,用來執行某一個特定的任務,而Fastlane核心框架則允許使用者通過類似配置檔案的形式,將不同的工具有機而靈活的結合在一起,從而形成一個個完整的自動化流程。
首先看一下安裝步驟:
一步步走就好了
Fastlane入門:安裝篇
接下來進行簡單的使用,實現自動化打包並且釋出到相關的測試平臺
Fastlane入門:初級使用篇
整理的自動化打包的指令碼
關於這些工具的描述和使用可以看這裡:https://docs.fastlane.tools/actions/Actions/
#!/bin/bash
#計時
SECONDS=0
#假設指令碼放置在與專案相同的路徑下
project_path=$(pwd)
#取當前時間字串新增到檔案結尾
now=$(date +"%Y_%m_%d_%H_%M_%S")
#打包完成之後,儲存的地址,這裡選擇的是桌面
finalPath="/Users/morris/Desktop/newBag"
#希望得到的打包完成之後app的名稱
appName="你的app的名稱,最好不要用中文"
#指定專案的scheme名稱
scheme="當前專案對應的target的名稱"
#指定要打包的配置名
configuration="Adhoc"
#指定打包所使用的輸出方式,目前支援app-store, package, ad-hoc, enterprise, development, 和developer-id,即xcodebuild的method引數
export_method='ad-hoc'
#蒲公英的key
PGY_User_Key="蒲公英的User_Key"
PGY_API_Key="蒲公英的API_Key"
#fir的token
fir_token="fir 的 token"
#指定專案地址
workspace_path="$project_path/$scheme.xcworkspace"
#指定輸出路徑
output_path="$finalPath/$appName_${now}"
#指定輸出歸檔檔案地址
archive_path="$output_path/$appName_${now}.xcarchive"
#指定輸出ipa地址
ipa_path="$output_path/$appName_${now}.ipa"
#指定輸出ipa名稱
ipa_name="$appName_${now}.ipa"
#獲取執行命令時的commit message
commit_msg="$1"
#輸出設定的變數值
echo "===workspace path: ${workspace_path}==="
echo "===archive path: ${archive_path}==="
echo "===ipa path: ${ipa_path}==="
echo "===export method: ${export_method}==="
echo "===commit msg: $1==="
#先清空前一次build
fastlane gym --workspace ${workspace_path} --scheme ${scheme} --clean --configuration ${configuration} --archive_path ${archive_path} --export_method ${export_method} --output_directory ${output_path} --output_name ${ipa_name}
#上傳到fir
# echo "================= 上傳到fir ================="
# fir publish ${ipa_path} -T "${fir_token}" -c "${commit_msg}"
echo "================= 上傳到蒲公英 ================="
curl -F "file=@${ipa_path}" -F "uKey=${PGY_User_Key}" -F "_api_key=${PGY_API_Key}" https://qiniu-storage.pgyer.com/apiv1/app/upload
#輸出總用時
echo "===Finished. Total time: ${SECONDS}s==="
你可以直接拷貝當前的指令碼放在當前專案的目錄下面。按照需求修改相關的引數。如果是普通的打包的話那就只需要修改這麼幾個引數就好了
#打包完成之後,儲存的地址,這裡選擇的是桌面
finalPath="/Users/morris/Desktop/newBag"
#希望得到的打包完成之後app的名稱
appName="你的app的名稱,最好不要用中文"
#指定專案的scheme名稱
scheme="當前專案對應的target的名稱"
#蒲公英的key
PGY_User_Key="蒲公英的User_Key"
PGY_API_Key="蒲公英的API_Key"
#fir的token
fir_token="fir 的 token"
build_using_gym.sh 指令碼的位置如圖:
執行指令碼之前別忘記了修改指令碼的許可權:chmod 777 指令碼名
參考資料
Fastlane官網地址
Fastlane github地址看這裡
推薦幾篇介紹Fastlane的文章
fastlane 教程: 入門
使用fastlane實現iOS持續整合
使用fastlane gym/xctool編寫ipa打包指令碼
Fastlane自動化構建工具(完整解決測試和釋出流程)
相關文章
- Jenkins + Git + fastlane + 蒲公英實現自動化打包上傳JenkinsGitAST
- API自動化測試平臺,高效實現對API的自動化測試API
- 自動化測試平臺
- 自動化測試平臺設計與實現(一)
- UI 自動化測試平臺UI
- Fastlane + Bugly自動化部署測試包AST
- 使用 fastlane 實現自動化打包AST
- Django 介面自動化測試平臺Django
- Fastlane 一鍵打包上傳FirAST
- fastlane簡易使用打包上傳AST
- 自動化測試平臺設計與實現(二、自動化測試用例物件設計實現、關鍵字物件設計與實現)物件
- iOS--利用Fastlane實現自動化打包iOSAST
- 請問大家,自動化測試可以實現一個指令碼測試全部平臺嗎?指令碼
- API自動化測試平臺,支援場景化的API測試API
- 無人值守自動化效能測試平臺
- 各位測試大佬可有實用的介面自動化測試平臺推薦?
- iOS 元件化開發(四):fastlane實現pod自動化iOS元件化AST
- 救救孩子吧,實在不想用自動化測試平臺了
- 如何實現高度自動化測試?
- Postman實現UI自動化測試PostmanUI
- Linux下搭建介面自動化測試平臺Linux
- iOS平臺如何進行app自動化測試?iOSAPP
- 移動自動化測試平臺,瞄準金融行業行業
- fastlane 自動化打包工具實踐AST
- 小紅書 app 效能自動化測試平臺 - 湯偉奇APP
- GAutoNext 全平臺遊戲自動化測試利器遊戲
- 自動化功能測試平臺TestComplete的分散式測試教程(三)分散式
- 自動化功能測試平臺TestComplete的分散式測試教程(二)分散式
- 使用 Postman 實現 API 自動化測試PostmanAPI
- postman實現介面的自動化測試Postman
- 從0到1搭建移動App功能自動化測試平臺 (4):自動化測試程式碼⎡工程化⎦APP
- Robot Framework自動化測試框架核心指南-如何做好自動化測試平臺框架的設計Framework框架
- 試著使用 jmeter 實現介面自動化測試JMeter
- Web自動化測試平臺設計與落地-概覽Web
- 專業自動化測試資訊平臺初步上線了
- 開源免費的自動化測試平臺推薦
- 提升效率——自動打包上傳蒲公英
- 自動化測試系列 —— UI自動化測試UI