Saltstack-git-as-file-server
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