Jenkins実践文書(5)

1830 ワード

Jenkinsデータバックアップ移行


ジョブのバックアップとインポート


ジョブタスクデータファイル


新しく作成された実行されていないタスク・ジョブのパスとファイルは、次のとおりです.
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のレッスンには、3つのファイルしか含まれていません.実際には、config.xmlがあればいいことがわかりました.

新規ジョブの手動作成


以上のように、jobを手動で作成するには、3つのステップしか必要ないことがわかりました.
  • コマンドライン:mkdir jobs/testmanualjob
  • コマンドライン:cp otherjob/config.xml testmanualjob/
  • Jenkins管理インタフェース:Jenkins-> -> :manual_manage_job.png

  • これにより、既存のtestmanualjobジョブと同じ構成の新しいotherjobジョブをJenkinsインタフェースで見ることができます.

    既存のジョブのバックアップ


    Jenkinsジョブはファイル形式で保存され、データベースへの依存はありません.Jenkinsのjobはいずれも$JENKINS_HOME/jobsディレクトリ(一般的には/var/lib/jenkins/jobs)の下にあり、各jobは1つのディレクトリに対応している.すべてのジョブをバックアップする場合は、$JENKINS_HOME/jobsディレクトリをバックアップするだけです.特定のジョブをバックアップする場合は、/var/lib/jenkins/jobsの対応するディレクトリをバックアップするだけです.

    既存のジョブのインポート


    例えば、Jenkins 1サーバ上のジョブmyjob Jenkins 2サーバ上に登録したい.
  • Jenkins 1のmyjobからJenkins 2サーバjenkinsホームのjobs
    $scp Jenkins1:/var/lib/jenkins/jobs/myjob Jenkins2:/var/lib/jenkins/jobs
    
  • へコピーする
  • Jenkins 2サービスにログインし、再ロード構成Jenkins管理インタフェース:Jenkins-> -> 以下:manual_manage_job.png