1. ホーム
  2. jenkins

[解決済み] Jenkinsは、実行するジョブの設定ファイルをどこに保存しますか?

2022-09-06 19:02:24

質問

私はJenkinsを使用して、職場のEC2プロジェクトに継続的インテグレーションを追加しています。Jenkinsマシン自体はEC2マシン上に保持されていますが、オフラインにして、いつでもまったく別のEC2インスタンス上に戻す必要があるかもしれません。私たちには、EC2インスタンスにソフトウェアを簡単に再インストールするためのPuppetマニフェストがたくさんありますが、私がJenkinsで作成したジョブのようなカスタム設定ファイルは、移動後に削除されます。

Jenkins がその上で実行されるジョブを XML ファイルまたは一連の XML ファイルとしてどこかに保存するなら、それらのファイルがバージョン管理サーバーにコミットされ、その後 puppet マニフェストの一部として新しく作成されたサーバーにダウンロードされるシステムをセットアップすることができます。これらのファイルがどこに保存されているか、誰か知っていますか?私はコピーしようとしました /var/lib/jenkins/jobs をコピーしようとしましたが、それは入力ではなく、Jenkinsのジョブの出力を格納するように見えます。

どのように解決するのですか?

ジェンキンス は、以下のように関連するビルドデータの一部を保存します。

  • 作業ディレクトリは、ディレクトリ {JENKINS_HOME}/workspace/ .

    • 各ジョブは、関連する 一時的なワークスペースのフォルダー というディレクトリに {JENKINS_HOME}/workspace/{JOBNAME}
  • ディレクトリに格納されているすべてのジョブの設定 {JENKINS_HOME}/jobs/ .

    • 各ジョブは、関連する ビルドデータ ディレクトリに {JENKINS_HOME}/jobs/{JOBNAME}

    • 各ジョブフォルダには

      • 以下のものが含まれます。 ジョブ設定ファイル {JENKINS_HOME}/jobs/{JOBNAME}/config.xml

      • ジョブが構築する に格納されます。 {JENKINS_HOME}/jobs/{JOBNAME}/builds/

をご覧ください。 Jenkinsのドキュメント を参照してください。

JENKINS_HOME
 +- config.xml     (jenkins root configuration)
 +- *.xml          (other site-wide configuration files)
 +- userContent    (files in this directory will be served under your http://server/userContent/)
 +- fingerprints   (stores fingerprint records)
 +- nodes          (slave configurations)
 +- plugins        (stores plugins)
 +- secrets        (secretes needed when migrating credentials to other servers)
 +- workspace (working directory for the version control system)
     +- [JOBNAME] (sub directory for each job)
 +- jobs
     +- [JOBNAME]      (sub directory for each job)
         +- config.xml     (job configuration file)
         +- latest         (symbolic link to the last successful build)
         +- builds
             +- [BUILD_ID]     (for each build)
                 +- build.xml      (build result summary)
                 +- log            (log file)
                 +- changelog.xml  (change log)