Jenkins數據備份遷移
備份及導入Job
作業任務數據文件
對於一個新創建的沒有執行過的任務作業,其路徑與文件是這樣的:
jenkins@vmcnszs207:~/jobs/testnewjob$ pwd
/var/lib/jenkins/jobs/testnewjob
jenkins@vmcnszs207:~/jobs/testnewjob$ tree
.
├── builds
│ ├── legacyIds
│ └── permalinks
└── config.xml
1 directory, 3 files
jenkins@vmcnszs207:~/jobs/testnewjob$ cat builds/legacyIds
jenkins@vmcnszs207:~/jobs/testnewjob$ cat builds/permalinks
lastCompletedBuild -1
lastFailedBuild -1
lastStableBuild -1
lastSuccessfulBuild -1
lastUnstableBuild -1
lastUnsuccessfulBuild -1
課件一個新 job
只包含了三個文件。其實實踐發現,只要有 config.xml
就可以了。
手動創建新作業
根據如上,並實踐發現,如果手動創建一個 job,只需要三個步驟:
命令行下:
mkdir jobs/testmanualjob
命令行下:
cp otherjob/config.xml testmanualjob/
-
Jenkins管理界面:
Jenkins->系統管理->讀取設置
如下:
這樣,我們就能在Jenkins界面看到一個新的 testmanualjob
的作業,其配置與已有的 otherjob
作業是一樣的。
備份已有作業
Jenkins作業以文件形式存放,並無對數據庫的依賴。Jenkins的job都在 $JENKINS_HOME/jobs
目錄(一般是 /var/lib/jenkins/jobs
)下,每個job對應一個目錄。如果備份所有作業,只需備份 $JENKINS_HOME/jobs
目錄;如果備份特定作業,只需備份 /var/lib/jenkins/jobs
下對應的目錄。
導入已有作業
比如我們想將Jenkins1服務器上的作業 myjob
Jenkins2服務器上。
-
拷貝Jenkins1的
myjob
至Jenkins2服務器jenkins主目錄的jobs
$scp Jenkins1:/var/lib/jenkins/jobs/myjob Jenkins2:/var/lib/jenkins/jobs
-
登陸Jenkins2服務,重新加載配置
Jenkins管理界面:
Jenkins->系統管理->讀取設置
如下: