Jenkins实践文档(5)

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,只需要三个步骤:

  1. 命令行下: mkdir jobs/testmanualjob

  2. 命令行下: cp otherjob/config.xml testmanualjob/

  3. Jenkins管理界面:  Jenkins->系统管理->读取设置

    如下:

    manual_manage_job.png

这样,我们就能在Jenkins界面看到一个新的 testmanualjob 的作业,其配置与已有的 otherjob 作业是一样的。

备份已有作业

Jenkins作业以文件形式存放,并无对数据库的依赖。Jenkins的job都在 $JENKINS_HOME/jobs 目录(一般是 /var/lib/jenkins/jobs )下,每个job对应一个目录。如果备份所有作业,只需备份 $JENKINS_HOME/jobs 目录;如果备份特定作业,只需备份 /var/lib/jenkins/jobs 下对应的目录。

导入已有作业

比如我们想将Jenkins1服务器上的作业 myjob Jenkins2服务器上。

  1. 拷贝Jenkins1的 myjob 至Jenkins2服务器jenkins主目录的 jobs

    $scp Jenkins1:/var/lib/jenkins/jobs/myjob Jenkins2:/var/lib/jenkins/jobs
    
  2. 登陆Jenkins2服务,重新加载配置

    Jenkins管理界面:  Jenkins->系统管理->读取设置

    如下:

    manual_manage_job.png

你可能感兴趣的:(Jenkins实践文档(5))