iOS使用 fastlane 完成 xcode 自動打包上傳(2019-01-09)

介紹

其實自動化打包工具有很多,用的比較多的有 Jenkins 恶耽、Python密任、fastlane。曾經(jīng)一直使用的 Jenkins 來構建驳棱,但是 Jenkins 需要我們配置的東西比較多(倉庫地址批什、git/svn 賬號和密碼、分支等)而 fastlane 是我目前遇到最簡單快速的(iOS社搅、Android都支持)github地址驻债、文檔地址

安裝前準備工作

  • 首先確認是否安裝了 ruby ( 默認 mac 都已經(jīng)安裝好了)
    ruby -v
檢測 ruby 版本.png
  • 查鏡像、修改鏡像
    查看源: gem sources
    刪除源: gem sources --remove https://gems.ruby-china.org/
    更換源: gem sources -a https://gems.ruby-china.com

開始安裝

  • 安裝 fastlane
    執(zhí)行命令:sudo gem install fastlane -NV
    如果出現(xiàn) 錯誤 ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions for the /usr/bin directory. 表示沒有權限形葬,需要把安裝路徑也加進去合呐。
    重新執(zhí)行:sudo gem install fastlane -NV -n /usr/local/bin 等待安裝成功如下圖
    安裝成功.png

使用

  • 打開終端 cd 到你的項目下
  • 執(zhí)行 fastlane 命令 fastlane init 如圖:
    執(zhí)行命令.png

    下面會有四個選項供你選擇
  1. 自動截屏。幫我們自動截取APP中的截圖.
  2. 自動發(fā)布beta版本用于TestFlight.
  3. 自動發(fā)布到AppStore.
  4. 手動設置.
    這里我們選擇 4 笙以、一直按 enter 就ok了

配置

上一步執(zhí)行成功 我們項目會多出這兩個文件


FB95F6D8-FA51-44E1-8AD0-2C0696828770.png
  • Appfile 文件
# app_identifier("[[APP_IDENTIFIER]]") # The bundle identifier of your app
# apple_id("[[APPLE_ID]]") # Your Apple email address

# For more information about the Appfile, see:
#     https://docs.fastlane.tools/advanced/#appfile

APP_IDENTIFIER 就是我們工程的 boundle_id
APPLE_ID 就是你的AppleID

  • Fastfile 文件
# This file contains the fastlane.tools configuration
# You can find the documentation at https://docs.fastlane.tools
#
# For a list of all available actions, check out
#
#     https://docs.fastlane.tools/actions
#
# For a list of all available plugins, check out
#
#     https://docs.fastlane.tools/plugins/available-plugins
#

# Uncomment the line if you want fastlane to automatically update itself
# update_fastlane

default_platform(:ios)

platform :ios do
  desc "Description of what the lane does"
  lane :custom_lane do
    # add actions here: https://docs.fastlane.tools/actions
  end
end

lane :custom_lane do 中的 custom_lane 是函數(shù)的名稱淌实,可以隨意修改,打包執(zhí)行命令的時候使用猖腕。
# add actions here: https://docs.fastlane.tools/actions 這塊就是讓我們加具體執(zhí)行的插件拆祈、命令等操作用于打包。

下面是我項目的配置

# This file contains the fastlane.tools configuration
# You can find the documentation at https://docs.fastlane.tools
#
# For a list of all available actions, check out
#
#     https://docs.fastlane.tools/actions
#
# For a list of all available plugins, check out
#
#     https://docs.fastlane.tools/plugins/available-plugins
#

# Uncomment the line if you want fastlane to automatically update itself
# update_fastlane

default_platform(:ios)

platform :ios do
  desc "Description of what the lane does"
  lane :Demo do  #函數(shù)名稱倘感,執(zhí)行打包的時候使用 (冒號后面不能有空格)
    # add actions here: https://docs.fastlane.tools/actions

    time = Time.new.strftime("%Y%m%d") #獲取時間格式
    version = get_version_number#獲取版本號
    ipaName = "Debug_#{time}.ipa"
    gym(
       scheme:"Demo", #項目名稱
       export_method:"development",#打包的類型
       configuration:"Debug",#模式放坏,默認Release,還有Debug
       output_name:"#{ipaName}",#輸出的包名
       output_directory:"./build/#{version}"#輸出的位置
     )
  end
end

重新 cd 到項目目錄老玛,執(zhí)行命令 fastlane Demo. 成功截圖如下:


image.png

上傳蒲公英

  • cd到項目下淤年、安裝 pgyer 插件
  • 執(zhí)行命令 fastlane add_plugin pgyer
  • 重新修改 Fastlane 文件,如下:
# This file contains the fastlane.tools configuration
# You can find the documentation at https://docs.fastlane.tools
#
# For a list of all available actions, check out
#
#     https://docs.fastlane.tools/actions
#
# For a list of all available plugins, check out
#
#     https://docs.fastlane.tools/plugins/available-plugins
#

# Uncomment the line if you want fastlane to automatically update itself
# update_fastlane

default_platform(:ios)

platform :ios do
  desc "Description of what the lane does"
  lane :Demo do  #函數(shù)名稱蜡豹,執(zhí)行打包的時候使用 (冒號后面不能有空格)
    # add actions here: https://docs.fastlane.tools/actions

    time = Time.new.strftime("%Y%m%d") #獲取時間格式
    version = get_version_number#獲取版本號
    ipaName = "Debug_#{time}.ipa"
    gym(
       scheme:"Demo", #項目名稱
       export_method:"development",#打包的類型
       configuration:"Debug",#模式麸粮,默認Release,還有Debug
       output_name:"#{ipaName}",#輸出的包名
       output_directory:"./build/#{version}"#輸出的位置
     )
    pgyer(api_key: "#{api_key}", user_key: "#{user_key}")
  end
end

重新執(zhí)行 fastlane Demo

上傳成功.png

參考文章:
gym 插件更多用法
cocoachina文章

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末镜廉,一起剝皮案震驚了整個濱河市弄诲,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌桨吊,老刑警劉巖威根,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異视乐,居然都是意外死亡,警方通過查閱死者的電腦和手機敢茁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進店門佑淀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人彰檬,你說我怎么就攤上這事伸刃』牙” “怎么了?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵捧颅,是天一觀的道長景图。 經(jīng)常有香客問我,道長碉哑,這世上最難降的妖魔是什么挚币? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮扣典,結果婚禮上妆毕,老公的妹妹穿的比我還像新娘。我一直安慰自己贮尖,他們只是感情好笛粘,可當我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著湿硝,像睡著了一般薪前。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上关斜,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天示括,我揣著相機與錄音,去河邊找鬼蚤吹。 笑死例诀,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的裁着。 我是一名探鬼主播繁涂,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼二驰!你這毒婦竟也來了扔罪?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤桶雀,失蹤者是張志新(化名)和其女友劉穎矿酵,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體矗积,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡全肮,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了棘捣。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片辜腺。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出评疗,到底是詐尸還是另有隱情测砂,我是刑警寧澤,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布百匆,位于F島的核電站砌些,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏加匈。R本人自食惡果不足惜存璃,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望矩动。 院中可真熱鬧有巧,春花似錦、人聲如沸悲没。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽示姿。三九已至甜橱,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間栈戳,已是汗流浹背岂傲。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留子檀,地道東北人镊掖。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像褂痰,于是被迫代替她去往敵國和親亩进。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,435評論 2 359

推薦閱讀更多精彩內(nèi)容