
搭建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)插件
安裝這幾個插件,并且重啟jenkins,下面是幾個jenkins的相關(guān)東西
1、重啟Jenkies
http://localhost:8080/restart
2、重新加載配置信息
http://localhost:8080/reload
證書管理插件

注 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)限

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

四 、 找到Library資源庫文件夾,設(shè)置共享與訪問權(quán)限,everyone讀與寫都可以,并且應(yīng)用于下層目錄
開始構(gòu)建項目
構(gòu)建操作,起名字點擊輸入一個任務(wù)名稱,選擇構(gòu)建一個自由風(fēng)格

git拉取代碼,并且把相關(guān)git相關(guān)上傳到全局變量

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

Keychains and Code Signing Identities

注意第一次選擇,可能不會出現(xiàn)Code Signing Identity,這個時候,保存項目再退出來后再進去就是可以看到了
上傳蒲公英的相關(guān)操作

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

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
打包成功的輸出


集成的時候遇到的問題
- CodeSign 簽名失敗,執(zhí)行解鎖keychain的shell腳本
CodeSign /Users/Shared/Jenkins/Library/Developer/Xcode/DerivedData/QKiOS-ceqftwbkurbqjxfyflrsrfuzezvs/Build/Intermediates.noindex/ArchiveIntermediates/QKiOS/InstallationBuildProductsLocation/Applications/QKiOS.app```