我是用brew安裝的jenkins的
brew install jenkins
安裝完成后調(diào)用以下命令啟動(dòng)jenkins服務(wù)
brew services start jenkins
在瀏覽器輸入:http://localhost:8080/,訪問(wèn)jenkins控制界面
按照網(wǎng)頁(yè)提示去本地文件路徑下找到密碼,粘貼進(jìn)去,點(diǎn)擊Continue。

選擇紅色框里的 Install suggested plugins安裝Jenkins建議安裝的插件

安裝失敗的話,還可以重試,直到安裝成功。
然后創(chuàng)建一個(gè)管理員賬戶,這個(gè)賬戶是我們后續(xù)登錄jenkins控制界面的憑證。

到這里jenkins環(huán)境就搭建好了。
接下來(lái)安裝用于iOS構(gòu)建的插件:



搜索并安裝以下插件:
Xcode integration
用于調(diào)用Xcode命令行工具來(lái)自動(dòng)構(gòu)建和打包iOS應(yīng)用程序(iPhone,iPad等)的功能
Keychains and Provisioning Profiles Management
用于管理鑰匙串中的證書(shū)并將其配置到j(luò)enkins中。
注意:對(duì)于源代碼在gitlab或者svn上的,也需要安裝對(duì)應(yīng)的插件才行,我這邊用的git,所以就沒(méi)額外安裝。
全部插件安裝完畢后,調(diào)用以下命令可以重啟jenkins服務(wù),并重新進(jìn)入網(wǎng)頁(yè)控制臺(tái)。
brew services restart jenkins
配置環(huán)境變量:
環(huán)境變量可以在jenkins設(shè)置內(nèi)配置,也可以用export在命令行直接配置,設(shè)置這個(gè)主要是為了保持跟自己的命令行環(huán)境一致,命令行執(zhí)行env,可以看當(dāng)前的環(huán)境變量,我這邊不設(shè)置,執(zhí)行pod install會(huì)報(bào)找不到命令。
主頁(yè)-系統(tǒng)管理-系統(tǒng)配置-全局屬性-環(huán)境變量,我這邊加了四個(gè)
#export LANG=en_US.UTF-8
#export LANGUAGE=en_US.UTF-8
export PATH=/opt/homebrew/bin:xxxxxxxxxxxxx
export SHELL=/bin/zsh

接下來(lái)開(kāi)始項(xiàng)目的配置:
說(shuō)一些題外話:我在網(wǎng)上找到的帖子,他們把jenkins描述成在mac上新建了一個(gè)獨(dú)立的用戶,并以此做出環(huán)境隔離,對(duì)于Cocoapods,只需要登錄該獨(dú)立用戶,手動(dòng)去安裝Cocoapods后,即可在jenkins內(nèi)使用,可能因?yàn)槲沂怯胋rew安裝的原因,我在系統(tǒng)設(shè)置里并沒(méi)有看到j(luò)enkins創(chuàng)建新的mac用戶,所有文件也都在我當(dāng)前用戶下,所以Cocoapods的使用也是安裝指定路徑去調(diào)用原本電腦上安裝的Cocoapods。
點(diǎn)擊新建任務(wù)

選擇構(gòu)建一個(gè)自由風(fēng)格的軟件項(xiàng)目

源碼管理:這里需要安裝對(duì)應(yīng)的源代碼管理平臺(tái)的支持插件,前面已經(jīng)說(shuō)過(guò)了,然后輸入ssh或https倉(cāng)庫(kù)地址,跟在本地直接拉代碼一樣,ssh賬戶需要在源代碼管理平臺(tái)配置公鑰,在jenkins配置私鑰,https賬戶則需要配置賬號(hào)密碼,我這邊用的ssh,看起來(lái)jenkins能直接讀取到我在根目錄配置的私鑰,所以不用配置。
這里可以自己慢慢嘗試配置,點(diǎn)擊保存,然后點(diǎn)擊左上角圖標(biāo)返回主頁(yè),點(diǎn)擊三角運(yùn)行按鈕去運(yùn)行,運(yùn)行完畢點(diǎn)擊進(jìn)對(duì)應(yīng)的構(gòu)建記錄去看控制臺(tái)輸出。




點(diǎn)擊增加構(gòu)建步驟

選擇執(zhí)行shell

增加以下代碼來(lái)調(diào)用Cocoapods并安裝組件
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
/opt/homebrew/bin/pod --version