需求
公司的整個測試環境正式環境打包都是用的同一個Jenkins
, 該Jenkins
是搭建在內部的一台機器上,之前有一台機器的硬盤出了問題,為了安全起見,我們決定備份 Jenkins
的配置和數據。
操作:
- 在一台機器上搭建
nfs
, 掛載在Jenkins
的機器上。 - 在
Jenkins
的機器上安裝插件進行備份。(本文的主要內容)
一 、選擇插件
我們輸入 Backup 后,會發現有兩個 插件
- Backup
- ThinBackup
我們這邊選用的是 ThinBackup
, 安裝這個。
二、使用 ThinBackup 插件
官方文檔介紹: https://plugins.jenkins.io/thinBackup
安裝好ThinBackup
之后,在 系統管理界面,拉到下面,我們就可以找到 ThinBackup
.
點進去,我們可以看到有三個配置。
- Backup Now 現在立即備份。
- Restore 導入配置
- Settings 備份配置
我們開始需要了解的是:Settings
.
Backup directory 設置備份的目錄,注意運行 jenkins 的目錄要對它有寫的權限。
Backup schedule for full backups 設置定時任務,Example:
0 12 * * 1-5 Executes on 12:00 every weekday (Mo-Fr)
Backup schedule for differential backups 設置差異化備份的計划,也就是增量備份,僅僅存儲上一次完整備份的之后的更改部分。 對於增量備份,我們必須要有一個完整備份。
Max number of backup sets 備份的最大數量數,默認為 -1.表示無限制。
Files excluded from backup (regular expression) 備份需要排除的目錄。
Wait until Jenkins/Hudson is idle to perform a backup 等待 jenkins 進入“Quiet Mode”(安靜模式)的時候去進行備份。安靜模式期間不處理任何任務。 建議勾選。
Force Jenkins to quiet mode after specified minutes : 最長等待進入安靜模式的時間,當超過這個時間,就會強制進入 安靜模式。
Backup build results 備份構建的結果,這個可能會產生大量的數據。占用磁盤會比較大。
Backup build archive 只有勾選了 Backup build results 才會出現這個選項。備份存檔,
Backup only builds marked to keep 如果勾選此項,只備份被標記為 `Keep this build forever` 的上的構建結果。只有勾選了 Backup build results 才會出現這個選項。
Backup 'userContent' folder 如果啟用該備份,userContent 目錄($JENKINS_HOME/userContent)將會備份。 如果有軟鏈接部分,不能備份該內容。
Backup next build number file 如果啟用該項,則 nextBuildNumber 也會進行備份。
Backup plugins archives 啟用該項的話,會進行備份插件存檔。
Backup additional files 備份特定的文件,可以通過正則進行匹配。
Clean up differential backups 如果啟用了該選項的話,在執行完整備份的時候,會刪除差異化備份。
Move old backups to ZIP files 將老的備份文件進行壓縮。
- 如果我們不勾選任何 參數,不勾選 Backup build results(默認勾選的),默認備份的內容包含 : 用戶信息(dongjiaxiao/config.xml),工程信息(config.xml,svnexternals.txt) 等。
- 如果我們勾選 Backup build results(默認勾選的) 會在 工程信息目錄下(jobs/xxx/builds) 會有各個執行編號的輸出和配置文件內容。
- 如果我們勾選 Backup plugins archives 會在備份目錄下多一個 plugins 目錄,里面包含着我們安裝的插件。
- 如果我們勾選 Backup 'userContent' folder 就是多備份 $JENKINS_HOME/userContent下 的內容。 多個備份目錄 userContent。
- 如果我們勾選 Move old backups to ZIP files 會對之前備份文件進行壓縮。
定時器不生效
當我配置好了計划任務后,發現定時器不生效。需要重啟 jenkins ,在重啟 jenkins 之后,我們可以發現定時器生效了。