Jenkins奇技淫巧 — 安裝篇(mac)
Jenkins奇技淫巧 — 配置篇
Jenkins奇技淫巧 — 安全篇
Jenkins奇技淫巧 — 發(fā)送郵件篇
Jenkins奇技淫巧 — 全局變量篇
Jenkins奇技淫巧 — 新建任務(wù)篇
Jenkins奇技淫巧 — 插件篇
Jenkins奇技淫巧 — 問(wèn)題篇
Jenkins奇技淫巧 — 命令篇
Jenkins奇技淫巧 — 環(huán)境配置篇(Android自動(dòng)化構(gòu)建)
Jenkins奇技淫巧 — 參數(shù)化構(gòu)建篇(Android自動(dòng)化構(gòu)建)
Jenkins奇技淫巧 — 第一次實(shí)戰(zhàn)篇(Android自動(dòng)化構(gòu)建)
Jenkins奇技淫巧 — Python打包篇(Android自動(dòng)化構(gòu)建)
Jenkins奇技淫巧 — Python發(fā)送郵件和上傳蒲公英(Android自動(dòng)化構(gòu)建)
Jenkins奇技淫巧 — 樂(lè)固,多渠道打包篇(Android自動(dòng)化構(gòu)建)
Jenkins奇技淫巧 — 節(jié)點(diǎn)管理篇
Jenkins奇技淫巧 — 優(yōu)秀文章篇
簡(jiǎn)介
現(xiàn)在很多公司都會(huì)用Jenkins來(lái)實(shí)現(xiàn)自動(dòng)部署+測(cè)試平臺(tái)脑溢,對(duì)于項(xiàng)目不多崖堤,發(fā)布不頻繁的情況下來(lái)說(shuō),一般不會(huì)用到節(jié)點(diǎn)配置,但是對(duì)于一些大型的企業(yè)來(lái)講疹启,需要同時(shí)處理很多的任務(wù),這時(shí)候就需要借助Jenkins多節(jié)點(diǎn)或者我們所說(shuō)的Jenkins分布式SLAVE來(lái)分擔(dān)任務(wù)了岖免。
環(huán)境
- 阿里云服務(wù)器一臺(tái)溉浙,作為從節(jié)點(diǎn)
- mac筆記本一臺(tái)投放,作為主節(jié)點(diǎn)
添加節(jié)點(diǎn)
-
系統(tǒng)管理 -> 節(jié)點(diǎn)管理 -> 新建節(jié)點(diǎn)
屏幕快照 2019-05-05 上午10.38.10.png 名稱:
節(jié)點(diǎn)名稱遠(yuǎn)程工作目錄:
在從節(jié)點(diǎn)服務(wù)器上,新建一個(gè)目錄绒北,用于存放從節(jié)點(diǎn)所需要的文件-
標(biāo)簽
標(biāo)簽用來(lái)對(duì)多節(jié)點(diǎn)分組,標(biāo)記之間用空格分隔.例如'refression java6'將會(huì)把一個(gè)節(jié)點(diǎn)標(biāo)記上'regression'和'java6'.舉例來(lái)說(shuō),如果你有多個(gè)Windows系統(tǒng)的構(gòu)建節(jié)點(diǎn)并且你的Job也需要在Windows系統(tǒng)上運(yùn)行,那么你可以配置所有的Windows系統(tǒng)節(jié)點(diǎn)都標(biāo)記為'windows', 然后把Job也標(biāo)記為'windows'.這樣的話你的Job就不會(huì)運(yùn)行在除了Windows節(jié)點(diǎn)以外的其它節(jié)點(diǎn)之上了.
-
啟動(dòng)方式
- Launch agent agents via SSH
通過(guò)安全SSH連接發(fā)送命令來(lái)啟動(dòng)從節(jié)點(diǎn)黎侈。需要從主服務(wù)器訪問(wèn)從服務(wù)器,并且您必須提供可以在目標(biāo)計(jì)算機(jī)上登錄的帳戶闷游。不需要root權(quán)限峻汉。主機(jī):即從節(jié)點(diǎn)的主機(jī)ip
Credentials:憑據(jù),如果沒(méi)有添加過(guò)任務(wù)憑據(jù)脐往,可以點(diǎn)擊添加休吠,憑據(jù)的用戶名和密碼分別是從節(jié)點(diǎn)訪問(wèn)的用戶名和密碼。
-
Host Key Verification Strategy
主機(jī)密鑰驗(yàn)證策略业簿,控制Jenkins如何在連接時(shí)驗(yàn)證遠(yuǎn)程主機(jī)提供的SSH密鑰(注意瘤礁,這里遠(yuǎn)程主機(jī),值的是從節(jié)點(diǎn)辖源,因?yàn)楝F(xiàn)在配置的是從節(jié)點(diǎn)的屬性)- known hosts file verification strategy
已知主機(jī)文件驗(yàn)證策略 - manually provided key verification strategy
手動(dòng)提供密鑰驗(yàn)證策略 - manually trusted key verification strategy
手動(dòng)驗(yàn)證密鑰驗(yàn)證策略
選擇 Manually Trusted Key Verification Strategy蔚携,這會(huì)在完成配置后希太,第一次連接從節(jié)點(diǎn)時(shí)要求我們手動(dòng)確認(rèn)當(dāng)前連接的從節(jié)點(diǎn)的身份克饶。說(shuō)明一下酝蜒,Host Key 驗(yàn)證是用來(lái)防止中間人攻擊的
- known hosts file verification strategy
-
點(diǎn)開高級(jí)
- 端口:從節(jié)點(diǎn)訪問(wèn)的端口號(hào),默認(rèn)22矾湃,比如阿里云服務(wù)器默認(rèn)也是22.
- JavaPath:[可選]JDK路徑亡脑,默認(rèn)和master節(jié)點(diǎn)相同。路徑必須指定到Java程序邀跃,如:/path/bin/java霉咨,此處java路徑 不能僅僅指定JAVA_HOME,
還要精確到j(luò)ava指令位置。如果只是到JAVA_HOME,在任務(wù)執(zhí)行日志中就會(huì)出現(xiàn) bash:/usr/java/jdk1.8.0_101: is a directory拍屑。 - JVM Options:[可選]JVM可選參數(shù)
- Remoting Work directory
和上面的遠(yuǎn)程目錄填一樣就可以途戒,至于有什么區(qū)別,不清楚僵驰。
測(cè)試可以使用Unix命令喷斋,會(huì)自動(dòng)拼接在[SSH] Starting slave process:[Prefix Start Slave Command] cd '/path' && /path/bin/java -jar slave.jar [Suffix Start Slave Command]
- 點(diǎn)擊保存
- Launch agent agents via SSH
啟動(dòng)節(jié)點(diǎn)
點(diǎn)擊保存后,會(huì)跳轉(zhuǎn)到啟動(dòng)節(jié)點(diǎn)的界面蒜茴,點(diǎn)擊啟動(dòng)即可星爪。
啟動(dòng)成功后,在遠(yuǎn)程目錄(也就是從節(jié)點(diǎn)配置時(shí)填寫的目錄)下會(huì)多出這幾個(gè)文件
workspace是第一次執(zhí)行任務(wù)生成的工作目錄
-
在主節(jié)點(diǎn)上指定需要在從節(jié)點(diǎn)執(zhí)行的任務(wù)
打開任務(wù)的配置頁(yè)面
屏幕快照 2019-05-05 上午11.31.06.png
這里用到了粉私,配置的標(biāo)簽屬性
看一下Jenkins主界面顽腾,發(fā)現(xiàn)左下角出現(xiàn)了兩個(gè)節(jié)點(diǎn),啟動(dòng)限制在從節(jié)點(diǎn)執(zhí)行的任務(wù)诺核,然后你在從節(jié)點(diǎn)的歷史列表中能夠看到執(zhí)行中的任務(wù)抄肖。
任務(wù)執(zhí)行后,在從節(jié)點(diǎn)的遠(yuǎn)程目錄下窖杀,就會(huì)出現(xiàn)workspace目錄憎瘸,下面有我們的工程文件。
-
Launch agent via execution of command on the master
通過(guò)讓Jenkins從主服務(wù)器執(zhí)行命令來(lái)啟動(dòng)代理陈瘦。當(dāng)主設(shè)備能夠在另一臺(tái)機(jī)器上遠(yuǎn)程執(zhí)行一個(gè)進(jìn)程時(shí)幌甘,例如,使用此選項(xiàng)痊项。通過(guò)SSH或RSH锅风。Jenkins考慮到某些企業(yè)可能有多個(gè)節(jié)點(diǎn)。如果在界面配置鞍泉,那么升級(jí)版本之類的操作會(huì)很麻煩皱埠。所以允許你使用shell腳本去配置管理節(jié)點(diǎn)
當(dāng)某一個(gè)節(jié)點(diǎn)任務(wù)達(dá)到一定數(shù)量,就會(huì)自動(dòng)分別可以運(yùn)行該任務(wù)的節(jié)點(diǎn)機(jī)器上咖驮。
注意
配置時(shí)边器,一定先保證主機(jī)训枢,端口,憑據(jù)都是正確的忘巧,選擇的認(rèn)證方式也是合理的恒界。
無(wú)法啟動(dòng)從節(jié)點(diǎn)
/Users/pengdaosong/.ssh/known_hosts [SSH] No Known Hosts file was found at /Users/pengdaosong/.ssh/known_hosts.
Please ensure one is createdat this path and that Jenkins can read it.
- 生成SSH密鑰
ssh-keygen
cd .ssh
cat id_rsa.pub > authorized_keys
chmod 700 authorized_keys - Host Key Verification Strategy
選擇manually trusted key verification strategy