Jenkins是一款由Java編寫的開源的持續(xù)集成工具厢拭。Jenkins運(yùn)行依賴Java JDK,如果你未安裝JDK,需要先去安裝。
一:安裝Jenkins
首先我們安裝Jenkins蓬豁,我們可以通過Homebrew安裝,也可以通過客戶端安裝菇肃,這里推薦大家使用Homebrew安裝地粪,因為通過客戶端安裝,后面配置過程中琐谤,你可能會遇到權(quán)限配置問題蟆技。
如果你的Mac未安裝Homebrew,需要先安裝Homebrew斗忌。
1.安裝Homebrew质礼,在終端輸入(如果已安裝,可跳過):
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2.安裝Jenkins织阳,在終端輸入安裝命令:
brew install jenkins
安裝成功結(jié)果:
可以看到結(jié)果提示几苍,如果想在開機(jī)就啟動Jenkins,可以使用命令 brew services start jenkins 來啟動Jenkins陈哑,否則直接使用命令 jenkins 來啟動。
二:啟動Jenkins
1.在終端輸入啟動命令:
jenkins
第一次啟動Jenkins,終端會打印出Jenkins管理員初始登錄密碼惊窖,復(fù)制這個密碼刽宪,我們后面要使用
2.在瀏覽器輸入:http://localhost:8080,訪問Jenkins主頁界酒。結(jié)果如下:
根據(jù)頁面提示我們可以在路徑 /Users/wf/.jenkins/secrets/initialAdminPassword 文件里找到Jenkins初始登錄密碼圣拄,也可以使用我們上一步復(fù)制的密碼。這兩處的密碼是一樣的毁欣。
3.在上一步輸入密碼庇谆,然后點擊“繼續(xù)”,進(jìn)入插件安裝頁面
我們點擊第一個”安裝推薦的插件”(這里推薦選擇第一個凭疮,我們安裝Jenkins推薦的所有插件饭耳,否則后面我們要一個一個去安裝好多插件),選擇之后進(jìn)入安裝頁面
插件安裝中执解,這里需要點時間寞肖,稍等一會。
4.安裝成功后衰腌,我們需要創(chuàng)建一個管理員用戶
填寫你想輸入的信息新蟆,然后“保存并完成”,進(jìn)入下一個頁面(這里你可以在你的記事本上把用戶名和密碼備份一下右蕊,如果你忘記了琼稻,后面再配置的話,會很麻煩)
5.實例配置使用默認(rèn)饶囚,不用修改帕翻,然后“保存并完成”。進(jìn)入下一個頁面
6.開始頁面坯约,點擊“開始使用jenkins”
三:進(jìn)入Jenkins主頁
1.在創(chuàng)建新任務(wù)之前熊咽,我們先安裝一個插件。點擊左側(cè)的 Manage Jenkins -> Manage Plugins(插件管理)
2.選擇可選插件闹丐,在右上角搜索框横殴,輸入插件名稱:Git Parameter,然后勾選卿拴,點擊“直接安裝”
安裝成功后衫仑,返回首頁
四:創(chuàng)建任務(wù)
1.點擊“創(chuàng)建一個新任務(wù)”,進(jìn)入創(chuàng)建頁面
2.輸入項目名稱堕花,選擇 Freestyle project(構(gòu)建一個自由風(fēng)格的項目) 文狱,然后”確定”,進(jìn)入配置頁面
General配置
輸入簡單的項目描述
項目描述
源碼管理配置
1.在左側(cè)勾選Git缘挽,然后輸入你項目的Git倉庫地址瞄崇。然后我們需要添加一個賬號(這里的賬號就是你Git的用戶名和密碼呻粹,Jenkins會用來登錄Git倉庫拉取代碼),點擊“添加”
2.添加頁面:輸入Git用戶名和密碼苏研,點擊”添加“等浊。
3.添加成功后,然后選擇你剛才添加的賬號摹蘑。在分支欄你可以修改分支名稱筹燕,這里我們先使用master,后面我們會做成動態(tài)的衅鹿,根據(jù)用戶手選分支撒踪,而不是寫死。
4.修改超時時間:如果你的工程比較大大渤,那么建議修改一下Git的克隆和拉取時間制妄,不然Jenkins拉取代碼的時候會超時。在下面點擊”新增“->選擇”Advanced Clone behaviours“
然后根據(jù)下面兼犯,輸入配置信息
構(gòu)建配置
在構(gòu)建配置選擇 Execute shell忍捡,然后輸入打包命令。打包命令可以去這里下載切黔。具體的iOS打包命令含義可以去這里學(xué)習(xí)iOS自動打包ipa砸脊。
輸入構(gòu)建命令
然后保存,回到項目首頁纬霞。
五:構(gòu)建項目
1.點擊左側(cè) Build Now(立即構(gòu)建)
2.構(gòu)建中...
3.構(gòu)建成功凌埂,此時打開你的蒲公英,就會看到剛才打的新包
六:參數(shù)化構(gòu)建
經(jīng)過上面的步驟我們已經(jīng)可以實現(xiàn)自動化打包诗芜,并上傳到蒲公英瞳抓。可是實際上的需求是:我們希望打包的時候可以手動選擇某個分支伏恐,然后再選擇某個環(huán)境孩哑,然后再自動化構(gòu)建對應(yīng)的包。這時就需要使用參數(shù)化構(gòu)建翠桦。
1.點擊左側(cè)”配置“横蜒,我們重新進(jìn)入剛才的配置頁面
2.勾選參數(shù)化構(gòu)建
添加參數(shù),選擇Git Parameter
然后配置Git構(gòu)建參數(shù)信息:
再次添加參數(shù)销凑,選擇Choice Parameter
配置打包環(huán)境參數(shù)信息
3.修改源碼管理丛晌,將分支名稱修改為我們上面Git Parameter里配置的Key名稱(其實代表的就是分支名稱)
4.然后修改打包腳本,我們可以根據(jù)上面設(shè)置的名稱 SRERVICE_ENVIRONMENT 來獲取用戶選擇的環(huán)境斗幼,然后我們需要根據(jù)環(huán)境修改對應(yīng)的代碼澎蛛。這里有兩種方式:
第一種:多Target打包,每個環(huán)境對應(yīng)一個Target蜕窿,我們打包的時候谋逻,根據(jù)SRERVICE_ENVIRONMENT的值打?qū)?yīng)的Target就可以呆馁。
第二種:根據(jù)SRERVICE_ENVIRONMENT,我們修改對應(yīng)環(huán)境的代碼毁兆。
這里我們使用第二種方法:
先看項目里的代碼智哀,我們的目的就是通過腳本修改常量 ENVIRONMENT 的值,看代碼我們可以修改為DEV荧恍、TEST、Production 其中一項屯吊,變量 appEnv 會根據(jù)?ENVIRONMENT 的值返回對應(yīng)的環(huán)境送巡。
看了代碼,其實也就明白了盒卸,上面配置的打包環(huán)境字符串參數(shù)的值和代碼里字符串值是對應(yīng)的
5.我們加入了分支選擇和環(huán)境選擇骗爆,所以需要修改打包腳本,去這里下載
腳本講解
腳本一:file_app_path是要修改代碼的swift文件路徑蔽介,也就是我們會使用腳本修改這個文件里的?ENVIRONMENT 常量的值摘投。
file_app_path="./Test/AppEnv.swift"
腳本二:找到我們要修改代碼的swift文件,然后將 默認(rèn)的字符串SRERVICE_ENVIRONMENT修改為打包時所選對應(yīng)的定義好的字符串虹蓄。
# 更改打包環(huán)境
environment="SRERVICE_ENVIRONMENT"
target_environment=${SRERVICE_ENVIRONMENT}
sed -i '' 's/'${environment}'/'${target_environment}'/g' $file_app_path
environment變量:是我們項目里默認(rèn)的字符串
target_environment變量:是我們上面選擇的環(huán)境對應(yīng)的字符串
最后一行腳本的作用就是替換犀呼,將 environment 替換為 target_environment 。
腳本三:再打包完成之后薇组,我們又將字符串替換回去外臂,相當(dāng)于恢復(fù)我們剛剛修改的代碼,剛好和上面的相反
# 更改打包環(huán)境
sed -i '' 's/'${target_environment}'/'${environment}'/g' $file_app_path
然后保存律胀,此時之前的 Build Now 已經(jīng)變成 Build with Parameters宋光,點擊
6.然后保存,回到項目首頁炭菌。
七:再次構(gòu)建項目
在左側(cè)選擇”Build with parameters“罪佳,然后選擇對應(yīng)的分支,對應(yīng)的環(huán)境黑低,開始構(gòu)建
構(gòu)建成功赘艳,再次打開你的蒲公英,就會看到剛才打的指定分支投储、指定環(huán)境的新包第练。
你也可以擴(kuò)展一些其他功能,比如打包完成后玛荞,給測試人員發(fā)送郵件娇掏。