Saltstack-git-as-file-server

提供:Dev Guides
移動先:案内検索

SaltStack-ファイルサーバーとしてのGit

*Git* は、オープンソースの分散バージョン管理システムです。 任意のファイルの変更を追跡するために使用できます。 Saltは、Gitファイルサーバーを使用してGitリポジトリからファイルを送信します。 Gitを *fileserver_backend* リストオプションに設定できます。1つ以上のリポジトリを設定する必要がある場合は、 *gitfs_remotes* オプションを使用して設定できます。

この章では、Gitファイルサーバーをインストールおよび構成する方法について説明します。 インストールに進む前に、次の前提条件を満たしている必要があります。

Gitを使用するためのSaltサーバーの前提条件

ファイルサーバーとしてGitを使用するソルトサーバーの最小要件は次のとおりです-

  • pygit2
  • ダリッジ

Pygit2とDulwichは、マスター構成ファイルの gitfs_provider パラメーターを使用して構成されます。 gitfs_provider がマスターファイルで設定されていない場合、適切なバージョンが利用可能であれば、Saltはpygit2を優先し、その後に GitPython および Dulwich が続きます。

pygit2をインストールする

次のコマンドは、FedoraおよびUbuntuベースのシステムにpygit2をインストールするために使用されます-

  • * Fedoraベースのシステム*
yum install python-pygit2
  • * Ubuntuベースのシステム*
apt-get install python-pygit2

ここで、pygit2のサポートされる最小バージョンは0.20.3です。

GitPYTHONをインストールする

GitPythonは、以下に示すように* yum/aptコマンド*を使用してマスターに簡単にインストールできます。

  • * Fedoraベースのシステム*
yum install GitPython
  • * Ubuntuベースのシステム*
apt-get install python-git

DULWICHをインストール

Dulwichは、yumコマンドを使用してマスターに簡単にインストールできます。

  • * Fedoraベースのシステム*
yum install python-dulwich
  • * Ubuntuベースのシステム *
apt-get install python-dulwich

これで、Gitファイルサーバーのすべての依存関係がインストールされました。* master config ファイルの *fileserver_backend セクションを使用して、このGitファイルサーバーを構成します。

バックエンド構成

Gitファイルサーバーを使用するには、マスター構成ファイルのfileserver_backendリストにGitを追加する必要があります。 次のように記述されています-

fileserver_backend:
   - git

リモート構成でGitファイルサーバーを構成する方法をさらに理解しましょう。

gitfs_remotesの構成

マスターファイルのgitfs_remotes設定には、git://、https://、file://、ssh://などのURLのいずれかまたはすべてを指定できます。 これは、要求されたファイルを検索するために使用されます。

単純なhttps URLの仕様を以下に定義します。

gitfs_remotes:
   - https://github.com
*ssh* 設定は、以下に示すように実行できます。
gitfs_remotes:
   - [email protected]:user1/sample.git
   - ssh://[email protected]/path/to/sample.git

これで、2つのオプション fileserver_backend および gitfs_remotes を使用してGitファイルサーバーを構成しました。

マスターを再起動

マスターファイルですべての変更を行った後、マスターを再起動してGitファイルサーバーにすべての構成をロードします。

複数のリモート構成

次のコマンドは、マスターファイルの gitfs_remotes の複数の構成に使用されます。

gitfs_remotes:
   - git://github.com/sample/sample1.git
   - https://github.com/sample/sample2.git
   - file:///root/user/sample

ここで、リポジトリ* sample1.git、sample2.git、および *sample.doc には次のファイルが含まれている場合があります。

sample1.git:
   top.sls

sample2.git
   edit/vimrc

sample.doc
   edit/vimrc