jenkins
項目中測試組專用服務器上安裝jenkins方便持續(xù)集成和交付翁锡。
jenkins是一個開源軟件項目蔓挖,是基于Java開發(fā)的一種持續(xù)集成工具,用于監(jiān)控持續(xù)重復的工作馆衔,旨在提供一個開放易用的軟件平臺瘟判。安裝流程請戳
fastlane
簡單來說,以iOS應用發(fā)布流程為例,整個流程的各部分工作fastlane都能幫你完成角溃。
主要突出的幾個組件:
- sigh:生成并下載開發(fā)者證書
- produce:在iTunes Connector上創(chuàng)建你的應用
- gym:打包你的應用
- snapshot:實現(xiàn)應用截屏并取得圖片
- pilot:將你的應用發(fā)布到TestFlight進行測試
- deliver:將你的應用的二進制代碼,截屏和原數(shù)據(jù)等信息上傳到AppStore
環(huán)境
安裝fastlane
[sudo] gem install fastlane
命令行位置定位到目標Xcode項目根目錄拷获,然后執(zhí)行如下
fastlane init
然后會有一些選項和輸入項(AppId賬號密碼),按需輸入即可减细,會進行一些相關的初始化
完成后項目根目錄會生成一個fastlane文件夾,其中至少含有Appfile匆瓜,F(xiàn)astfile兩個關鍵文件:
Appfile:記錄你的項目,賬號等關鍵信息,如包名,Apple ID驮吱,Team ID等茧妒;
Fastfile:關鍵的操作文件。根據(jù)你自己的需求左冬,在其中定制自己的操作流桐筏;
Fastfile結(jié)構(gòu)
default_platform(:ios)
platform :ios do
desc "Push a new build to TestFlight"
lane :package do
build_app(scheme: "FastlaneApp")
upload_to_testflight
end
end
fastlane的主要使用就是需要根據(jù)自己的需求定制自己的lane,lane里面加入各種各樣的action即可拇砰。
Fastfile編寫完畢后梅忌,使用fastlane + [lane名稱]即可執(zhí)行
使用終端定位到項目根目錄,執(zhí)行如下
fastlane [lane名稱],如:
fastlane package
在jenkins中配置fastlane命令
image.png
APP打包命令
使用xcodebuild命令打包ipa
sh "xcodebuild -exportArchive -archivePath #{archive_path}.xcarchive -exportPath #{archive_path} -exportOptionsPlist #{plist_path}"
使用gradle命令打包apk
gradle(
task: "assemble",
build_type: "Release",
print_command: false,
properties: {
"tinkerEnable" => false,
"android.injected.signing.store.file" => "#{real_store_file}",
"android.injected.signing.store.password" => "#{store_password}",
"android.injected.signing.key.alias" => "#{key_alias}",
"android.injected.signing.key.password" => "#{key_password}",
}
)
OTA分發(fā)
上傳到fir.im
fir命令行安裝
[sudo] gem install fir-cli
sh "fir publish #{file_path} -T #{token} -c \"#{title}"
上傳到蒲公英
sh "curl -F \"file=@#{file_path}\" -F \"uKey=#{pgyerUKey}\" -F \"_api_key=#{pgyerApiKey}\" -F \"updateDescription=#{title}#" -F \"publishRange=2\" http://www.pgyer.com/apiv1/app/upload"
上傳到testflight
upload_to_testflight