Mac Jenkins+fastlane 簡單幾步實現iOS自動化打包發布
最近在使用jenkins 實現ios自動化打包發布蒲公英過程實踐遇到了一些坑,特意記錄下來方便有需要的人。
進入正題:
一、安裝Jenkins
1.Mac上安裝Jenkins 遇到到坑
因為 Jenkins 的pkg安裝包默認安裝位置為shared文件夾,後續會遇到權限問題,所以放棄pkg安裝。(說明:也許是安裝時選擇了本機所有用戶可用的原因)
如果已經使用pkg文件方式安裝了,卸載方法:找到該文件 /Library/Application Support/Jenkins/Uninstall.command 雙擊執行卸載。
2.推薦安裝方式:
官網 http://mirrors.jenkins.io/war-stable/ 直接下載war包;
放到個人目錄 /Users/yourname/jenkins
安裝之前,提前設置好JENKINS_HOME
open -t ~/.bash_profile
添加一行
export JENKINS_HOME="/Users/yourname/jenkins"
source ~/.bash_profile 使得設置生效
cd 到存放的目錄 終端之執行命令
java -jar jenkins.war --httpPort=8080
看到 以下信息說明安裝完成
信息: Jenkins is fully up and running
翻看安裝過程的log 可以找到激活的密碼 (保存一份)
<如果沒有看到密碼,說明沒有卸載完全,那麽執行
sudo rm -rf /var/root/.jenkins ~/.jenkins
在執行一次安裝命令>
3.解鎖
4.解決離線問題
新開一個tab 網頁 輸入網址http://localhost:8080/pluginManager/advanced。 這裏面最底下有個【升級站點】,把其中的鏈接改成http的就好了,http://updates.jenkins.io/update-center.json。 提交! 然後關閉jenkins(關閉安裝Jenkins的終端即可),再啟動Jenkins(終端 java -jar jenkins.war ,需要再次粘貼密碼),這樣就能正常聯網了。
5.安裝推薦的插件
6.創建管理員用戶
輸入信息即可 ,完成後進入 jenkins 系統管理頁面,先到這裏
二、安裝 fastlane
fastlane這裏用來自動編譯打包iOS,它還可以一鍵上自動發布AppStore,制作app 截圖等,fastlane工具庫強大得超出你想象;更多關於fastlane的權威介紹用法參考 https://docs.fastlane.tools 中文資料可參考 https://www.jianshu.com/p/19ae8cc865b0
1. xcode-select --install
2. sudo gem install fastlane -NV
三、配置 jenkins
1、新建一個任務
2.設置源碼獲取方式
1.填入源碼svn地址 2.添加獲取源碼使用的賬戶密碼 3.選擇剛填寫賬戶
3.設置獲取代碼更新的輪詢方式 每隔5分鐘一次,有更新時自動獲取。點擊?號可以查看相關幫助信息
完成以上步驟 保存,手動構建 目的是先獲取代碼
4.初始化 fastlane
cd 項目所在目錄
執行 fastlane init (選擇4)
Fastlane 會自動在 App 目錄中生成 fastlane
目錄
安裝上傳蒲公英用的插件
執行 fastlane add_plugin pgyer
編輯 配置文件 fastlane/Fastfile 自定義lane 函數: beta 完成編譯打包.ipa 及上傳發布
- 以上的
api_key
和user_key
,請開發者在自己賬號下的應用管理
-App概述
-API
中可以找到,並替換到以上相應的位置。 - 在 Xcode 8.3 和 Xcode 8.3 以後的版本中,對於
build_app
的export_method
的值,需要根據開發者的打包類型進行設置,可選的值有:app-store
、ad-hoc
、development
、enterprise
。對於 Xcode 8.3 以下的版本,則不需要設置export_method
。 - 參考:https://www.pgyer.com/doc/view/fastlane
4.構建shell腳本(自動編譯打包發布的腳本)
編輯寫腳本:調用前面寫的 beta 方法
保存,可以手動 立即構建測試。祝君好運!!!
四、發布成功後的郵件通知設置 參考:https://blog.csdn.net/u013066244/article/details/78665075?from=singlemessage&isappinstalled=0
建議只配 郵件插件,如果同時配置了系統默認的郵箱設置項 會導致自定義發件模版不起作用
Mac Jenkins+fastlane 簡單幾步實現iOS自動化打包發布