1

弊社に新しいJenkinsサーバーを設置する予定です。さまざまな理由(簡単なアクセス、アクセス制御など)で、デプロイ可能なすべてのアーティファクトをJenkinsに保持したいと思います。

同社は、これらの展開可能なアーティファクトをNASに保持することを望んでいます。それは私にとっては大丈夫です。NASを使用するようにJenkinsを設定し、構成全体をそこに保持することができます。私の懸念は、ネットワーク接続を介したリモートドライブであるため、一部のプロジェクトのビルドが遅くなる可能性があることです。問題のあるジョブを構成して、ローカルの作業ディレクトリを使用して、必要に応じて処理を高速化できると思います。

ただし、Jenkinsをセットアップして、作業ディレクトリが自動的にローカルマシン上にあり、他のすべてがNAS上にあるようにする簡単な方法があれば、それは素晴らしいことです。それは私の側でより少ないセットアップと作業を必要とするでしょう。必要に応じてローカルの作業ディレクトリを設定することを覚えておく必要はありません。また、どのジョブにファンキーな作業ディレクトリがあるかを追跡する必要もありません。

これを行うには2つの方法があります。

  • 作業ディレクトリが特定のローカルディレクトリになるように計算されるようにJenkinsを設定します。たとえば、ジョブがオンの/mnt/nas/jenkins/jobs/foo場合、作業ディレクトリは/opt/jenkins/jobs/fooまたはになり/opt/local/jenkins/fooます。

  • どういうわけか、特定のディレクトリがローカルで、他のディレクトリがNAS上にあるように、システム全体を構成します。たとえば、ローカルストレージ/opt/local/jenkins/jobs/fooを除いて、下のすべてのディレクトリはNAS上にあります。/opt/local/jenkins/jobs/foo/workdir

workdirジョブディレクトリの下ではなく、作業ディレクトリとして別のディレクトリを自動的に使用するようにJenkinsを構成する方法はありますか?または、これを行うように環境を構成する方法はありますか?

4

2 に答える 2

1

これを行う2つの方法について通知を受けました。

  • スレーブをセットアップすると、スレーブは Jenkins サーバーと同じマシン上にあり、スレーブにすべてのビルドを実行させることができます。スレーブはローカルでビルドし、NAS にある Jenkins サーバーに情報を送り返します。ビルドを実行しているのはスレーブであるため、作業ディレクトリはローカルですが、Jenkins が保存する場所であるため、アーティファクトは NAS 上にあります。
  • Jenkins には、一般的な構成に 2 つの新しいオプションがあります。私は一目見ただけでそれらを見逃しました。それらは設定画面の一番上にあり、それらを見るにはAdvancedボタンを押す必要があります。1 つは、作業ディレクトリが必要な場所を指定できるため、$JENKINS_HOME. NAS にセットアップ$JENKINS_HOMEしてから、Jenkins にローカル ディレクトリをローカル ドライブに配置するように指示できます。もう 1 つは、ビルド レコードを配置する場所を指定できます。NAS にビルドの記録 (アーカイブされたアーティファクトを含む) を保持JENKINS_HOMEし、ローカル マシンにセットアップすることができました。

これはまさに私が探していたものです。どうやら、他の人も同じものを必要としていたようです。

于 2012-07-31T19:51:25.187 に答える
0

$ JENKINS_HOMEの下の特定のサブディレクトリにシンボリックリンクを使用して、これを日常業務で行いました。この例では、すべてのジョブ構成、履歴、公開されたアーティファクトをSANボリュームに保存し、残りのJenkinsファイルをローカルストレージに残したいと考えていました。これは、$ JENKINS_HOME/jobsからSANボリューム上のディレクトリへのシンボリックリンクを作成するだけの問題でした。

あなたの場合、NAS上のディレクトリを指すように$ JENKINS_HOMEを設定したいようですが、ビルド用のワークスペースディレクトリはローカルストレージにあります。各ビルドのワークスペースはサブディレクトリに保持されるため、これも簡単です。これは$JENKINS_HOME/ worksheetだと思います。申し訳ありませんが、セットアップでは個別のビルドスレーブが使用されており、マスターにエグゼキュータがセットアップされていないため、確認できません。

NASの使用に関する警告の一言。SANに切り替える前にJenkinsにNASを使用しましたが、JenkinsがNASのスナップショット機能によって作成された一時ファイルを削除できないため、ジョブ構成の変更を保存するときにエラーが定期的に発生することがわかりました。スナップショットをオフにすると、問題は解決しました。

于 2012-07-30T18:04:12.407 に答える