工作流的一個(gè)例子如下:
當(dāng)看到工作流插件使用的Groovy構(gòu)建腳本時(shí),你可能會(huì)感到Jenkins只是一個(gè)有著web界面的構(gòu)建工具而已,這種想法多少有點(diǎn)道理。
Jenkins文件系統(tǒng)結(jié)構(gòu)概覽
了解構(gòu)建如何最終反映到文件系統(tǒng)中一般還是挺有幫助的。
用Fedora包的話,Jenkins任務(wù)存儲(chǔ)在/var/lib/j enkins/jobs。
每一個(gè)任務(wù)都有自己的目錄,任務(wù)描述XML文件和稱為工作區(qū)(workspace)的構(gòu)建用目錄就存儲(chǔ)在這個(gè)目錄里。任務(wù)XML文件可以備份到另一臺(tái)服務(wù)器上,以便能夠在災(zāi)難性故障后重建Jenkins服務(wù)器。專用的備份插件也是一個(gè)可選方案。
構(gòu)建會(huì)消耗掉大量的空間,所以你有時(shí)候可能需要手動(dòng)清理空間。
當(dāng)然這種做法不應(yīng)該是常態(tài)。你應(yīng)該配置Jenkins只保留支持一定構(gòu)建數(shù)量的空間,或者是配置管理工具以便在必要時(shí)清除空間。
另一個(gè)需要深入了解文件系統(tǒng)的理由是,當(dāng)構(gòu)建神奇地失敗時(shí),需要調(diào)試失敗的原因。一個(gè)常見的原因是構(gòu)建服務(wù)器的狀態(tài)與預(yù)期不符。例如,對(duì)于Maven來(lái)說(shuō),損壞的依賴可能會(huì)搞垮構(gòu)建服務(wù)器上的本地代碼庫(kù)。