Jenkins-iOS自動化構(gòu)建及相關(guān)問題

前言

為了方便測試打包,提高速度爹袁,我們在一臺新的機器部署Jenkins远荠,前兩年雖然已經(jīng)做過一次Jenkins的安裝以及自動化,但是已經(jīng)時隔三年失息,Jenkins也在不斷的更新譬淳,這次安裝部署過程中,還是遇見了不少問題的根时,下面是我的在部署Jenkins過程中的一些記錄瘦赫。

安裝方式

之前安裝Jenkins,我使用的是.pkg文件蛤迎,在Jenkins官網(wǎng)中選擇穩(wěn)定版(LTS)或者開發(fā)版确虱,但是目前官方在MacOS上推薦是用Homebrew進行安裝。
使用brew以下方式安裝:
最新版本

//安裝
brew install jenkins
//啟動服務(wù)
brew services start jenkins
//重啟服務(wù)
brew services restart jenkins
//更新服務(wù)
brew upgrade jenkins

LTS 版本

//安裝
brew install jenkins-lts
//啟動服務(wù)
brew services start jenkins-lts
//重啟服務(wù)
brew services restart jenkins-lts
//更新服務(wù)
brew upgrade jenkins-lts

開啟服務(wù)

我選擇的是最新版本替裆,在終端執(zhí)行brew install jenkins等待片刻校辩,安裝完成使用命令brew services start jenkins開啟Jenkins服務(wù)。
瀏覽器中輸入127.0.0.1:8080辆童,進入Jenkins頁面宜咒,具體可參考iOS Jenkins自動化打包

  • 輸入密碼
  • 安裝推薦插件
  • 創(chuàng)建管理員賬戶(如果不創(chuàng)建,就是admin把鉴,密碼就是安裝時的解鎖密碼)
  • ....
  • 完成

配置局域網(wǎng)內(nèi)訪問

找到下面的路徑故黑,修改homebrew.mxcl.jenkins.plist修改其文件中的--httpListenAddress=x.x.x.x,其中x.x.x.x是你本機的ip地址庭砍,這樣在同一局域網(wǎng)下的別的機器就可以直接訪問Jenkins了场晶。

/usr/local/opt/jenkins/homebrew.mxcl.jenkins.plist
修改遠程訪問地址.png

安裝插件

請注意,這里是和文章iOS Jenkins自動化打包不太一致怠缸,這里沒有安裝Keychains and Provisioning Profiles Management插件诗轻,因為這個插件在出現(xiàn)了無法上傳keychain 和 profile文件的問題

0-1添加插件.png
0-2安裝Xcode插件.png

添加Job

1-0創(chuàng)建job.png

項目配置

1. General

1-2General-丟棄構(gòu)建.png

2. 參數(shù)化構(gòu)建

這里可以配置你任何想?yún)?shù)化的環(huán)境變量,比如分支揭北、比如Debug或者Release扳炬。。搔体。恨樟。

1-3參數(shù)化構(gòu)建.png

3. 源碼管理

2-0源碼管理.png
2-1添加憑證.png

4. 配置CocoaPods腳本

#!/bin/bash -ilex
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8

pod install
echo "======pod 完成"


5. 構(gòu)建- 重中之重

添加Xcode構(gòu)建步驟

5-1增加構(gòu)建步驟-Xcode.png
5-2添加Development Team ID.png
5-3Xcode構(gòu)建setting.png
5-4構(gòu)建-PackApplication.png
5-5設(shè)置keychian路徑.png
5-6Advanced Xcode Build options.png

截止到目前,應(yīng)該是可以進行打包了疚俱,并且導(dǎo)出ipa了厌杜。

上傳fim

在構(gòu)建中添加shell腳本

#讀取登錄信息
#!/bin/bash --login
#!/bin/bash -l
#fir.im 具體可以查看 https://fir.im/docs/publish
filePath=`ls ~/Desktop/qiangungun-package/ios/*.ipa`
apiToken=`curl -X "POST" "https://api.jappstore.com/apps" -H "Content-Type: application/json" -d "{\"type\":\"ios\",\"bundle_id\":\"應(yīng)用的bundle id\",\"api_token\":\"在fim申請的apiToken\"}"`

#接收返回結(jié)果,并且使用jq解析出來key、token夯尽、上傳的地址
echo $apiToken > /tmp/result.json
key=`cat /tmp/result.json |jq -r '.cert.binary.key'`
token=`cat /tmp/result.json |jq -r '.cert.binary.token'`
upload_url=`cat /tmp/result.json |jq -r '.cert.binary.upload_url'`
buildVersion=`echo $RANDOM`
#curl命令上傳文件到fir.im
/usr/bin/curl -k -F "key=$key" -F "token=$token" -F "file=@$filePath" -F "x:name=中歐財富-ios-new" -F "x:version=$APP_Version" -F "x:build=指定的App版本瞧壮,可參數(shù)化" -F "x:release_type=Adhoc" -F "x:changelog=更新日志可參數(shù)化" $upload_url  --http1.1 #https://up.qbox.me

rm -rf $filePath
echo "=======上傳完成"

問題

問題1:倉庫連接失敗,請查看是否需要連接VPN
error-無倉庫權(quán)限.png
問題2:jq解析失敗
error-jq-command-not-found.png

解決方案:brew install jq

問題3:pod:commend not found
error-pod-command-not-found.png

解決方案:查看cocoapods是否安裝匙握,如果已經(jīng)安裝供璧,并在腳本頭部加上#!/bin/bash -ilex

問題4:上傳fir SSL_connect: SSL_ERROR_SYSCALL in connection to up.qbox.me:443
image.png

導(dǎo)致這個錯誤的原因押框,就是up.qbox.me訪問不了凉翻,這個地址哪來的呢默赂?是fim官方提供的上傳腳本里面,最后一個參數(shù)

image.png

解決方案:將這個地址換成我們上傳fim那一步中蛾娶,從fim接口中返回的upload_url

問題5 上傳fir curl: (92) HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1)
curl錯誤

在上傳fir中的curl命令中灯谣,添加--http1.1指定HTTP版本

有問題,歡迎留言

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蛔琅,一起剝皮案震驚了整個濱河市胎许,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌罗售,老刑警劉巖辜窑,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異寨躁,居然都是意外死亡穆碎,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進店門职恳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來所禀,“玉大人,你說我怎么就攤上這事放钦∩牵” “怎么了?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵最筒,是天一觀的道長。 經(jīng)常有香客問我蔚叨,道長床蜘,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任蔑水,我火速辦了婚禮邢锯,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘搀别。我一直安慰自己丹擎,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蒂培,像睡著了一般再愈。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上护戳,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天翎冲,我揣著相機與錄音,去河邊找鬼媳荒。 笑死抗悍,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的钳枕。 我是一名探鬼主播缴渊,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼鱼炒!你這毒婦竟也來了衔沼?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤田柔,失蹤者是張志新(化名)和其女友劉穎俐巴,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體硬爆,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡欣舵,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了缀磕。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片缘圈。...
    茶點故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖袜蚕,靈堂內(nèi)的尸體忽然破棺而出糟把,到底是詐尸還是另有隱情,我是刑警寧澤牲剃,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布遣疯,位于F島的核電站,受9級特大地震影響凿傅,放射性物質(zhì)發(fā)生泄漏缠犀。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一聪舒、第九天 我趴在偏房一處隱蔽的房頂上張望辨液。 院中可真熱鬧,春花似錦箱残、人聲如沸滔迈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽燎悍。三九已至敬惦,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間间涵,已是汗流浹背仁热。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留勾哩,地道東北人抗蠢。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像思劳,于是被迫代替她去往敵國和親迅矛。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,901評論 2 345

推薦閱讀更多精彩內(nèi)容