- 安裝jenkins,有兩種方式
1.首先要安裝 homebrew,利用homebrew來管理安裝包十分方便,一條命令就可以
安裝 homebrew命令
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
安裝成功之后就可以安裝Jenkins了
執行命令
$ brew install jenkins
就安裝完成了
PS:不要在官網直接下載安裝包!不要在官網直接下載安裝包!不要在官網直接下載安裝包!會遇到很多權限問題!
- 安裝完成后啟動 Jenkins
$ brew services start jenkins
請在瀏覽器輸入地址:
http://localhost:8080/
使用安裝包安裝后會自動打開,如果端口沖突那么請修改端口,下面將端口號改成9090
defaults write /Library/Preferences/org.jenkins-ci httpPort 9090
- 安裝fir插件
下載插件
-
安裝插件
進入 Jenkins 管理界面后,點擊左側進入 系統管理

- 然后找到 管理插件 並點擊進入

- 進入插件管理后,點擊 高級 選項卡

- 然后在頁面找到 上傳插件,選擇已下載好的 fir.im jenkins 插件文件路徑,並點擊 上傳 等待安裝成功。

- 安裝成功后,如果沒有創建 Jenkins 項目,請先創建項目。如果需要配置已存在的項目,請進入在 配置 中找到 增加構建后操作步驟 ,並選擇 Upload to fir.im 添加到 Jenkins 項目中。

- 設置git,如果用git管理代碼倉庫的話
第一種方式(推薦),直接用腳本
# 這步操作解鎖keychain,login.keychain的路徑是${HOME}/library/keychains,123456是開機的密碼 security unlock-keychain -p 123456 ${HOME}/library/keychains/login.keychain # 工程名 APP_NAME="GitSearch" #修改打包類型 TARGET_NAME="GitSearch
#證書
CODE_SIGN_DISTRIBUTION="iPhone Distribution: XXXXX Inc. (R9JN3XXXX)"
provisoning_profile="942daf9e-2925-4fca-9afd-278e60b821e6"
#切換手動選擇證書模式(在xcode配置中取消Automatically manage signing,不然會報錯!)
sed -i "" s/'ProvisioningStyle = Automatic;'/'DevelopmentTeam = R9JN3XXXX;ProvisioningStyle = Manual;'/g ${APP_NAME}.xcodeproj/project.pbxproj
sed -i "" s/'PROVISIONING_PROFILE = "";'/'PROVISIONING_PROFILE = "$provisoning_profile";'/g ${APP_NAME}.xcodeproj/project.pbxproj
sed -i "" s/'PROVISIONING_PROFILE_SPECIFIER = "";'/'PROVISIONING_PROFILE_SPECIFIER ="xxxx_CI_Distribution";'/g ${APP_NAME}.xcodeproj/project.pbxproj
sed -i "" s/'DEVELOPMENT_TEAM = "";'/'DEVELOPMENT_TEAM = R9JN3XXXX;'/g ${APP_NAME}.xcodeproj/project.pbxproj
#info.plist路徑 project_infoplist_path="./${APP_NAME}/${TARGET_NAME}-Info.plist" #取版本號 bundleShortVersion=$(/usr/libexec/PlistBuddy -c "print CFBundleShortVersionString" "${project_infoplist_path}") #取build值 bundleVersion=$(/usr/libexec/PlistBuddy -c "print CFBundleVersion" "${project_infoplist_path}") DATE="$(date +%Y_%m_%d_%H_%M)" FILENAME="${DATE}" #自己定義fir的token和appid FIRTOKEN = "863efefc2c22d4b761c096e6af9a6024" FIRAPPID = "5933aa88548b7a57ff000059" export LANG=en_US.UTF-8 export LANGUAGE=en_US.UTF-8 export LC_ALL=en_US.UTF-8 echo "=================pod install=================" pod install echo "=================clean=================" xcodebuild -workspace "${APP_NAME}.xcworkspace" -scheme "${APP_NAME}" -configuration 'Release' clean echo "+++++++++++++++++build+++++++++++++++++" xcodebuild archive -workspace "${APP_NAME}.xcworkspace" -scheme "${APP_NAME}" -configuration 'Release' -archivePath "./build/${FILENAME}/${APP_NAME}.xcarchive" CODE_SIGN_IDENTITY="$CODE_SIGN_DISTRIBUTION" PROVISIONING_PROFILE="$provisoning_profile" echo "+++++++++++++++++archive && 導出ipa文件++++++++++++++++++" #export_plist一定要有,請自行百度 xcodebuild -exportArchive -archivePath "./build/${FILENAME}/${APP_NAME}.xcarchive" -exportPath "./build/${FILENAME}" -exportOptionsPlist "./export_plist/${TARGET_NAME}.plist" CODE_SIGN_IDENTITY="$CODE_SIGN_DISTRIBUTION" PROVISIONING_PROFILE="$provisoning_profile" echo "+++++++++++++++++復制到桌面++++++++++++++++++" rm -r -f ${HOME}/Desktop/Package/${APP_NAME}.ipa mkdir ${HOME}/Desktop/Package cp -R ./build/${FILENAME}/${APP_NAME}.ipa ${HOME}/Desktop/Package #fir上傳不一定能成功,可以使用插件 fir p "./build/${FILENAME}/${APP_NAME}.ipa" -T "${FIRTOKEN}" -Q fir login ${FIRTOKEN} echo "+++++++++++++++++蒲公英++++++++++++++++++" curl -F "file=@/Users/next_mac_mini/Desktop/Package/${APP_NAME}.ipa" -F "uKey=d81326899dd50c3382e2f5e99f3a7495" -F "_api_key=495642f9b1336a64ceb2d5cb44d93183" http://www.pgyer.com/apiv1/app/upload
第二種方式,使用xcode插件,先去插件管理下載Xcode integration
- 設置xcode
- xcode高級配置
- fir插件配置
只需要配置這些就夠了,使用的描述文件就是xcode當前的配置。
郵件配置:
1.先安裝插件Email Extension Plugin,然后在全局設置中配置郵件模板
然后進入到對應Jenkins,新增一個構建后項目Editable Email Notification
進入高級設置
這里對參數進行以下說明。
Triggers是觸發事件,這里設置成功和失敗都發送郵件
Recipient List 就是收件人
Content是內容,可以根據成功或失敗設置不同的內容
Attachments是附件,這里注意附件必須在Jenkins的build目錄下,我的是在
${HOME}/.jenkins/jobs/iOS GitSearch/workspace/build
Attach Build Log代表是否輸出log
其余的都按照截圖填上即可
XCode 9的exportPlist格式改了,下面這些是需要添加的字段,或者用XCode導出一個包,在同級目錄下會有ExportOptions.plist文件,粘貼過來就行了。但是注意compileBitcode屬性一定是false,不然導出失敗!