fastlane+蒲公英+Jenkins自動化打包配置流程

一、fastlane配置

安裝fastlane

  sudo gem install fastlane -NV

后期更新fastlane,這兩個都可以

bundle update fastlane

fastlane update_fastlane

終端cd到項目目錄,安裝蒲公英插件、fastlane初始化

$ fastlane add_plugin pgyer
$ fastlane init

fastlane init過程中需要輸入開發者賬號密碼,后續可通過以下命令重新登錄賬號。

$ fastlane cert create

Gemfile文件

# frozen_string_literal: true

source "https://rubygems.org"
gem 'fastlane'
gem "cocoapods"

plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile')
eval_gemfile(plugins_path) if File.exist?(plugins_path)

Appfile文件

app_identifier("com.xx.xx") # The bundle identifier of your app
apple_id("xxxxx@sina.com") # Your Apple Developer Portal username
itc_team_id("xxxxx")
team_id("xxxxx")
branch ENV['BRANCH']

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

Fastfile文件

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

default_platform(:ios)

platform :ios do
    before_all do |lane|
        cocoapods
    end
 desc "以 development 方式打包并上傳到蒲公英"
  lane :dev do

    puts "以 development 方式打包"
    gym(
      # 指定打包所使用的輸出方式 (可選: app-store, package, ad-hoc, enterprise, development)
      export_method: "development",
      # 默認Release Debug
    configuration: "Debug",
      # 指定項目的 scheme 名稱
      scheme: "xx",
      # 指定輸出的文件夾地址
      output_directory: "~/Desktop/ipa/dev/" + Time.new.strftime("%Y-%m-%d-%H:%M:%S"),
    )

    puts "上傳 ipa 包到蒲公英"
    pgyer(
      # 蒲公英 API KEY
      api_key: "xxxxxxxxxxxxxxxxx",
      update_description: "測試環境包"
    )

  end
    
end

以上配置完成就可以在本地終端進行打包了,打開終端進入到項目fastlane文件夾上一級,輸入以下命令即可打一個dev的包。

fastlane dev

二、Jenkins配置

安裝Jenkins

brew install jenkins

jenkins用到的命令

 #啟動jenkins
 brew services start jenkins
 #停止jenkins 
 brew services stop jenkins
 #重啟jenkins
 brew services restart jenkins
 
 #直接啟動jenkins
jenkins

打開瀏覽器,輸入localhost:8080,去相關路徑找到密碼復制進去即可

然后最重要的是安裝插件,Jenkins安裝時會提示安裝默認插件,全部安裝即可。安裝完再看下以下插件是否安裝了:GitExtended Choice ParameterGit Paramete

Git
Extended Choice Parameter
Git Paramete

GitLab    
Xcode integration    // 這個其實可以不用
Keychains and Provisioning Profiles Management // 配置文件管理
/// 上面這三個 如果需要在jenkins中打包 證書添加需要導入
 
Upload to pgyer // 上傳蒲公英
Build Name and Description Setter  // 設置打好包的名字
description setter   // 設置圖片

插件安裝完后,新建一個Jenkins任務:


截屏2023-08-10 17.05.26.png

接著配置gitlab項目路徑,以及gitlab賬號密碼或者Token,讓Jenkins自動拉取代碼。


截屏2023-08-10 16.50.21.png

接著配置打包可選參數:分支、環境

定義branch參數

分支配置

使用branch參數

使用branch參數

環境bool值配置

或者有多個環境是使用參數配置


截屏2023-08-10 16.49.17.png

接口配置Jenkins shell 腳本運行我們的fastlane腳本命令進行打包。

先在項目fastlane目錄下新建兩個腳本dev.sh release.sh文件,方便Jenkins執行。(為什么這么做:因為我直接把命令寫在Jenkins shell 里面不執行,報fastlane: command not found)

dev.sh文件內容如下:

#!/bin/bash
fastlane dev

release.sh文件內容如下:

#!/bin/bash
fastlane release

這兩個文件放在fastlane目錄下即可。

cd /Users/zhangsan/.jenkins/workspace/Cyou-iOS/fastlane
if (${isRelease})
then
echo "====release===="
sh ./release.sh
else
echo "====dev===="
sh ./dev.sh
fi

三、Jenkins運行報錯匯總

1、 fastlane: command not found
這個情況一般是由于 jenkins 沒有設置正確的 PATH,在終端輸入

echo $PATH

記錄下輸出的結果 在 jenkins 中系統管理-系統設置中,找到 環境變量(Environment variables) 在 key 中填寫 PATH,在 value 中填寫第一步中輸出的結果 保存即可。如下圖所示


截屏2023-08-10 19.51.44.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,505評論 6 533
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,556評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,463評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,009評論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,778評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,218評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,281評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,436評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,969評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,795評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,993評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,537評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,229評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,659評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,917評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,687評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,990評論 2 374

推薦閱讀更多精彩內容