web-dev-qa-db-ja.com

サービスとしてインストールされたWindowsでのJENKINS_HOMEの再配置

_C:_のスペースを解放するために、Jenkinsデータファイル(具体的には_\jobs_ディレクトリ)をデフォルトのインストールディレクトリC:\Program Files (x86)\Jenkinsから_F:\Jenkins\home_に移動します。 I 思考私がする必要があるのは、_JENKINS_HOME_環境変数を_F:\Jenkins\home_に設定することです。しかし、私が何をしようとしても、_JENKINS_HOME_環境変数は常に_jenkins.exe_の場所に設定されます。

関連:

ここに私がこれまで試したものがあります:

  1. 移動したジェンキンスデータ to F:\ Jenkins\home
  2. 実行中のjenkinsサービスを停止します
  3. _jenkins.exe uninstall_を使用してjenkinsサービスをアンインストールします
  4. Jenkinsをアンインストールします
  5. _%HOMEPATH%\.jenkins_ディレクトリを削除します
  6. 古いjenkinsインストールディレクトリを削除する
  7. 最新のMSIインストーラーをダウンロード_v1.597_
  8. C:\Program Files (x86)\Jenkins2にインストール(レジストリまたは構成ファイルに古い値がないことを確認するために名前を変更)
  9. システムレベルの環境変数_JENKINS_HOME_を_F:\Jenkins\home_に設定します
  10. ユーザーレベルの環境変数_JENKINS_HOME_を_F:\Jenkins\home_に設定します
  11. 変更済み_jenkins.xml_ を使用して_<env name="JENKINS_HOME" value="F:\Jenkins\home"/>_
  12. Jenkinsサービスを開始しました

この時点で、システム構成を見ると、_JENKINS_HOME_がC:\Program Files (x86)\Jenkins2に設定されています。 必ず _jenkins.exe_の場所に設定するようです。

たぶん私は自分の質問に答えた。可能であれば、プログラムとデータを分離したいと思います。 _F:\_ドライブにジェンキンをインストールする必要がありますか?または、jobsディレクトリを単純に分割し、他のすべてを_C:_に残す方法はありますか?

ありがとう!

[〜#〜] edit [〜#〜]:私はnot _JENKINS_HOME_を移動する必要がありましたが、代わりにworkspaceおよびbuildsディレクトリを設定することができました。これにより、ディスク使用量がすべて__F:_に移行しました。選択した設定は次のとおりです。

ワークスペースルートディレクトリ= _F:/Jenkins/workspace/${ITEM_FULLNAME}_ビルドレコードルートディレクトリ= _F:/Jenkins/jobs/${ITEM_FULL_NAME}/builds_

これらのディレクトリを手動で移行したため、再作成する必要はありません。このプロセス中にビルド履歴を失いましたが、今のところは大丈夫です。

20
cod3monk3y

Pre Jenkins 2.121

JENKINS_HOMEはJenkinsがインストールされている場所で、変更したいものではありません。 Jenkinsを起動したら、次の場所に移動します。

  1. Jenkinsを管理する
  2. システム構成
  3. 最初の「詳細」ボタンをクリックします

これにより、ワークスペースのディレクトリを変更したり、ディレクトリを作成したりできるテキストフィールドが提供されます。これらは、かなりのディスク容量を使用する2つのディレクトリです。履歴は移動しないことに注意してください。既存のワークスペースなどを移動する場合は、手動でコピーする必要があります。

Post 2.121プロパティを設定する必要があります(UI経由ではありません)。使用するシステムプロパティはjenkins.model.Jenkins.buildsDirです。

https://jenkins.io/doc/upgrade-guide/2.121/#ui-option-for-custom-builds-and-workspace-directories-on-the-master-has-been-removed = https://wiki.jenkins.io/display/JENKINS/Features+controlled+by+system+properties

18
Jeanne Boyarsky

別の可能性は、$ JENKINS_HOMEの内容全体を移動することです。

構成ファイルを編集する必要はなく、ビルド履歴が保持されます。

  1. 実行中のサービスを停止します:jenkins.exe stop

  2. サービスをアンインストールします:jenkins.exe uninstall

  3. C:\ Jenkins\homeをF:\ Jenkins\homeにコピーします

  4. C:\ Jenkinsを別の名前に変更し、バックアップとして保存します。

  5. F:\ Jenkins\homeに移動します

  6. サービスを再インストールします:jenkins.exe install

  7. Jenkinsを起動します:jenkins.exe start

新しいディスク容量をお楽しみください!

7
SpaceMonkey13

Jenkins 2.0の場合、新しい場所を指す「JENKINS_HOME」というシステム環境変数を追加するだけで済みました。私が使用した手順:

  1. Jenkinsをホストしているコンテナー(例えばTomcat)を停止します。
  2. 新しい場所を指す「JENKINS_HOME」というシステム環境変数を追加します。
  3. Jenkinsをホストしているコンテナーを再起動します。
6
Bernard

2.0より古いバージョンのjenkinsを使用している場合は、次を実行する必要があります。

1)jenkinsを開く-> Jenkinsの管理->システムの構成。ホームディレクトリのパスを確認します。 2)jenkinsサービスを停止します。 3)jenkinsホームディレクトリを他のドライブまたは移動する場所にコピーします。 4)プログラムファイルからjenkins.xmlを開き、値<env name="JENKINS_HOME" value="d:\Jenkins"/> d:\ Jenkinsを新しいパスに変更します。 5)Jenkinsサービスを再起動します。 6)あなたの仕事をテストしてください:)

2
user2125117

最初にjenkinsのホームパスを設定してから、/ install jenkins.warを実行します

例:

set JENKINS_HOME=D:\
Java -jar jenkins.war --httpPort=8091 -path=D:\<some-folder-name>\
2

私はC:/でHDDが不足していましたが、D:/で十分だったので、この質問につまずきました。

ジャンヌ・ボヤルスキーの答え ジェンキンスにはまったく影響がなかった。 2つの変数を変更しましたが、ジェンキンスは元のworkspaceおよびjobsディレクトリを使用し、C:/ドライブの1/3を消費しました。

同僚は、ディレクトリにSymbolic Linksを使用するだけの非常に簡単な解決策を指摘しました。

Jenkinsをシャットダウンした後、%JENKINS_HOME%ディレクトリでCMDを開き、大きなディレクトリ用の2つのリンクを作成します。

pushd %JENKINS_HOME%
:: save the old directories
ren workspace workspace.old
ren jobs jobs.old
:: now create the links
mklink /D /J workspace D:\jenkins\workspace
mklink /D /J jobs D:\jenkins\jobs
:: copy the original jobs to the new location
xcopy jobs.old\* jobs\ /sy

この後、Jenkinsを再起動します。すべてが正常に機能する場合、.oldディレクトリを安全に削除できます。

1
eckes

同じ問題があり、%JENKINS_HOME%の場所全体を変更したくないので、 answer by adil ameen

config.xml%JENKINS_HOME%ファイルを変更します(通常はC:\ Program Files(x86)\ Jenkinsの下)。 <workspaceDir>および<buildsDir>を目的のフォルダーに変更します。

次のプレースホルダーを使用できます:${JENKINS_HOME}${ITEM_ROOTDIR}${ITEM_FULL_NAME}システムプロパティによって制御される機能 で指定されているjenkins.model.Jenkins.buildsDirの下

私のものは次のようになります。

  <workspaceDir>D:/jenkins/jobs/${ITEM_FULL_NAME}/workspace</workspaceDir>
  <buildsDir>D:/jenkins/jobs/${ITEM_FULL_NAME}/builds</buildsDir>

Jenkins-> Manage Jenkins-> Reload configuration from diskを介してJenkins UIを介して設定を再読み込みします

古いジョブを新しい場所にコピーすると、ビルド履歴を保持することもできます。

0
Tagman