jenkins + Git + fastlane + 蒲公英實現(xiàn)自動化打包上傳

搭建Jenkins環(huán)境

安裝jenkins(需要安裝java環(huán)境)

jenkins官網(wǎng)下載或者是從清華大學(xué)開源鏡像網(wǎng)站進行下載下載地址

我自己安裝的jenkins的包版本是jenkins-2.121.1.pkg

安裝完成后,Safari可能會自動打開,如果沒有自動打開,打開瀏覽器,輸入http://localhost:8080

如果頁面提示不能連接服務(wù)器的錯誤,重啟電腦。然后再輸入http://localhost:8080進入登錄頁面。

根據(jù)提示,找到/Users/Shared/Jenkins/Home/ 這個目錄,找到secrets文件,顯示簡介,設(shè)置所有人都可以讀與寫的權(quán)限,并找到initialAdminPassword文件,同樣放開權(quán)限,復(fù)制出密碼,登錄進去,一路安裝過來,輸入用戶名、密碼、郵件等。最后點擊Save and Finish。

jenkins打包的相關(guān)插件

  1. 證書管理插件 鏈接

  2. xcode插件 鏈接

  3. 腳本執(zhí)行插件 鏈接

  4. git插件 鏈接

安裝這幾個插件,并且重啟jenkins,下面是幾個jenkins的相關(guān)東西

1、重啟Jenkies

    http://localhost:8080/restart

2、重新加載配置信息

    http://localhost:8080/reload
證書管理插件
WechatIMG8.jpeg

注 developer只是一個用于測試開發(fā)的證書,password 一定要填寫正確的鑰匙串的密碼,Code Signing Identity 是從鑰匙 找到相應(yīng)的證書,然后顯示簡介復(fù)制來,這 Identities少要填兩項,是因為這放個的話后的設(shè)置Code Signing Identity能動對應(yīng)上。

/Users/Shared/Jenkins/Library/MobileDevice/Provisioning Profiles

移動復(fù)制相關(guān)文件

把需要的文件移動到對用目錄下

一 、將/Users/用戶名/Library的MobileDevice文件夾拷貝到/Users/Shared/Jenkins/Library下

注意:是將MobileDevice這個文件夾拷貝過去,而不是MobileDevice里的文件,/Users/Shared/Jenkins/Library 目錄下是沒有MobileDevice這個文件夾,所以先創(chuàng)建一個MobileDevice文件夾。

在終端輸入

sudo mkdir /Users/Shared/Jenkins/Library/MobileDevice
sudo cp -r /Users/xxx/Library/MobileDevice/ /Users/Shared/Jenkins/Library/MobileDevice/

如果沒有mobileDevice這個文件夾,應(yīng)該就是沒有安裝xcode

二 、將/Users/用戶名/Library/Keychains/下的login.keychain及l(fā)ogin.keychain-db這兩個文件拷貝到/Users/Shared/Jenkins/Library/Keychains文件夾下面
注意:Mac OS 10.12以下的沒有l(wèi)ogin.keychain-db這個文件,只需要拷貝login.keychain文件。

在終端輸入:

cd /Users/Shared/Jenkins/Library/
sudo mkdir Keychains
sudo cp /Users/xxx/Library/Keychains/login.keychain ./Keychains/
sudo cp /Users/xxx/Library/Keychains/login.keychain-db ./Keychains/

再將這個login.keychain拷貝到桌面上 如果沒有l(wèi)ogin.keychain,請把login.keychain -db改為login.keychain

三 、 鑰匙串權(quán)限、~/Library權(quán)限以及電腦用戶管理權(quán)限
WechatIMG6.jpeg

點擊顯示簡介,更改相關(guān)權(quán)限

WechatIMG7.jpeg
四 、 找到Library資源庫文件夾,設(shè)置共享與訪問權(quán)限,everyone讀與寫都可以,并且應(yīng)用于下層目錄

開始構(gòu)建項目

構(gòu)建操作,起名字點擊輸入一個任務(wù)名稱,選擇構(gòu)建一個自由風(fēng)格
WechatIMG9.jpeg
git拉取代碼,并且把相關(guān)git相關(guān)上傳到全局變量
WechatIMG13.jpeg

把這個東西作為全局變量復(fù)制到對應(yīng)的地方

WechatIMG10.jpeg
Keychains and Code Signing Identities
WechatIMG11.jpeg

注意第一次選擇,可能不會出現(xiàn)Code Signing Identity,這個時候,保存項目再退出來后再進去就是可以看到了

上傳蒲公英的相關(guān)操作
WechatIMG12.jpeg

fastlane搭建

fastlane 介紹

fastlane 是一款為 iOS 和 Android 開發(fā)者提供的自動化構(gòu)建工具,它可以幫助開發(fā)者將 App 打包、簽名、測試、發(fā)布、信息整理、提交 App Store 等工作完整的連接起來,實現(xiàn)完全自動化的工作流,如果使用得當(dāng),可以顯著的提高開發(fā)者的開發(fā)效率。

依賴環(huán)境:
Xcode7+
macOS or Linux with Ruby 2.0.0 +

安裝fastlane
$ sudo gem install fastlane

如果報錯:ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/commander 
使用: sudo gem install -n /usr/local/bin fastlane

cd到對應(yīng)的目錄,使用fastlane init 我選擇的是4。目錄的結(jié)構(gòu)是

WechatIMG14.jpeg

fastlane的文件代碼操作
注意:一定要安裝執(zhí)行下面的命令

fastlane add_plugin pgyer

[圖片上傳失敗...(image-111f54-1531193590583)]

# 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)

# 定義fastlane版本號
fastlane_version “2.99.0”

# 定義打包平臺
default_platform :ios

lane :beta do
  gym(
#輸出的ipa名稱
output_name:”QKiOS_IPA”,
# 是否清空以前的編譯信息 true:是
clean:true,
# 指定打包方式,Release 或者 Debug
configuration:"Debug",
# 指定打包所使用的輸出方式,目前支持app-store, package, ad-hoc, enterprise, development
export_method:"development",
# 指定輸出文件夾
output_directory:"./fastlane/build",
)
pgyer(api_key: "蒲公英的api_key", user_key: "蒲公英的user_key")

Jenkins的shell腳本

先執(zhí)行pod操作,如果是使用cocoapod安裝的話

#bin/bsah - l

export LANG=en_US.UTF-8

export LANGUAGE=en_US.UTF-8

export LC_ALL=en_US.UTF-8

cd $WORKSPACE/

echo ++++++++++++++++++

#/usr/local/bin/pod install
/usr/local/bin/pod update --verbose --no-repo-update

echo begin
echo ++++++++++++++++++

解鎖keychain

#bin/security - l
/usr/bin/security unlock-keychain -p q1234 ~/Library/Keychains/login.keychain-db

fastlane 進行打包

#bin/bsah - l

export LANG=en_US.UTF-8

export LANGUAGE=en_US.UTF-8

export LC_ALL=en_US.UTF-8

cd $WORKSPACE/

pwd

PATH="/usr/local/bin:$PATH"

# 進行打包操作
/usr/local/bin/fastlane beta 

打包成功的輸出

WechatIMG15.jpeg
WechatIMG16.jpeg

集成的時候遇到的問題

  1. CodeSign 簽名失敗,執(zhí)行解鎖keychain的shell腳本
CodeSign /Users/Shared/Jenkins/Library/Developer/Xcode/DerivedData/QKiOS-ceqftwbkurbqjxfyflrsrfuzezvs/Build/Intermediates.noindex/ArchiveIntermediates/QKiOS/InstallationBuildProductsLocation/Applications/QKiOS.app```
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容