一文讀懂Jenkins的工作目錄是什么?你知道嗎?
圖片
主目錄:
除了Jenkins的WAR包所在目錄,Jenkins還有一個更重要的目錄——Jenkins的所有重要數(shù)據(jù)都存放在這個獨立的目錄中,稱為Jenkins主目錄,它的默認位置是在當前用戶根目錄的隱藏目錄。你還可以通過設(shè)置環(huán)境變量來強制設(shè)置一個其它目錄作為主目錄。
由上可知,備份Jenkins主目錄是至關(guān)重要的。
配置文件:
Jenkins主目錄下包含了所有的Jenkins服務(wù)器配置的細節(jié),以及在“管理Jenkins”界面的設(shè)置細節(jié)。這些配置都存儲為一組XML文件的形式。
很多核心的配置存儲在config.xml文件中,其它配置文件通過名稱也基本可以知道其作用。
目錄結(jié)構(gòu):
Jenkins主目錄下的子目錄并非是Jenkins所有可能存在的子目錄,因為有些目錄是當Jenkins需要它們時才會創(chuàng)建。
主要子目錄:
- jobs:包含Jenkins管理的構(gòu)建作業(yè)的配置細節(jié)、構(gòu)建產(chǎn)物和數(shù)據(jù);
- logs:Jenkins的日志目錄;
- plugins:包含所有已經(jīng)安裝了的插件,這些插件使得Jenkins得到了很好的擴展;
- updates:用來存放可用的插件更新;
- userContent:存放為Jenkins服務(wù)器定制化的一些內(nèi)容;
- users:存放用戶賬號信息;
- war:包含擴展的web應(yīng)用程序;
- workspace:存放Jenkins項目的工作空間;
Jenkin主目錄存儲著關(guān)于構(gòu)建服務(wù)的配置信息、構(gòu)建作業(yè)、構(gòu)建產(chǎn)物、插件和其它內(nèi)容,這也意味著隨著時間的推進,這個目錄將會耗費大量的磁盤空間。如下是各目錄的空間占用信息:
plugins目錄:plugins目錄下文件較多,但每一個插件基本是由一個目錄和一個與目錄同名稱的文件配對組成。
war目錄:如果是以WAR包形式運行的Jenkins,該目錄下存放的是解壓后的WAR包;
workspace目錄:這里包含了這個構(gòu)建作業(yè)的源代碼。
jobs目錄:在這之前,只創(chuàng)建過一個jenkins項目,所以在jobs目錄下只有這一個目錄。
如上:
目錄下存放該項目的所有的構(gòu)建歷史;
文件儲存了該build job的所有配置細節(jié);
文件記錄了這個構(gòu)建任務(wù)在下一次構(gòu)建時的數(shù)字序號;
和分別是最近穩(wěn)定構(gòu)建和最近成功的構(gòu)建的符號鏈接;
目錄里存放著當前作業(yè)的構(gòu)建歷史。這些構(gòu)建歷史會隨著時間而不斷增多,從而使得jobs目錄不斷變大。
Jenkins的配置目錄,通常指的是Jenkins主目錄,它是Jenkins在磁盤上執(zhí)行構(gòu)建和保留歸檔時使用的目錄結(jié)構(gòu)的根目錄。以下是對Jenkins配置目錄的詳細解釋:
一、默認位置
- Windows:默認情況下,Jenkins的主目錄設(shè)置為C:\ProgramData\Jenkins\.jenkins。
- Ubuntu:默認情況下,Jenkins的主目錄設(shè)置為~/.jenkins。
二、如何更改配置目錄
可以通過以下幾種方式更改Jenkins的主目錄位置:
- 設(shè)置Jenkins_home環(huán)境變量:在操作系統(tǒng)中設(shè)置JENKINS_HOME環(huán)境變量,指向新的目錄位置。
- 設(shè)置Jenkins_home Java系統(tǒng)屬性:在啟動Jenkins時,通過Java系統(tǒng)屬性設(shè)置jenkins.home,指向新的目錄位置。
- 手動更改:
完全停止Jenkins服務(wù)。
將舊的JENKINS_HOME目錄中的內(nèi)容移動到新位置。
更新JENKINS_HOME環(huán)境變量或Java系統(tǒng)屬性,指向新位置。
重新啟動Jenkins服務(wù)。
三、配置目錄結(jié)構(gòu)
Jenkins主目錄(JENKINS_HOME)下的目錄結(jié)構(gòu)通常包括以下幾個部分:
- builds:構(gòu)建記錄目錄,包含每個構(gòu)建的子目錄和構(gòu)建結(jié)果摘要等文件。
- changelog.xml:更改日志文件,記錄構(gòu)建過程中的更改信息。
- config.xml:Jenkins根配置文件,包含全局配置信息。
- fingerprints:存儲指紋記錄(如果有的話),用于識別構(gòu)建過程中的文件變化。
- identity.key.enc:用于標識實例的RSA密鑰對文件。
- jobs:所有Jenkins作業(yè)的根目錄,包含每個作業(yè)的子目錄和作業(yè)配置文件等。
- plugins:所有Jenkins插件的根目錄,包含每個插件的子目錄和插件文件(.jpi或.hpi)。
- secrets:憑證解密的secret key的根目錄,包含用于加密某些Jenkins數(shù)據(jù)的文件和密鑰等。
- usercontent:在特定URL下提供的文件目錄。
- workspace:版本控制系統(tǒng)的工作目錄,用于存放從版本控制系統(tǒng)中檢出的代碼。
四、注意事項
- 在更改Jenkins主目錄之前,建議備份原始目錄以防止數(shù)據(jù)丟失。
- 更改Jenkins主目錄可能會影響到Jenkins的正常運行,因此請謹慎操作。
綜上所述,Jenkins的配置目錄(即主目錄)是Jenkins存儲全局配置、構(gòu)建記錄、插件和作業(yè)等信息的根目錄。通過合理管理和配置該目錄,可以確保Jenkins的穩(wěn)定運行和高效管理。