SaltStack - Git 作为文件服务器
Git 是一个开源分布式版本控制系统。它可用于跟踪任何文件的更改。Salt 使用 Git 文件服务器从 Git 存储库发送文件。您可以将 Git 配置为 fileserver_backend 列表选项,如果您需要配置一个或多个存储库,则可以使用 gitfs_remotes 选项进行配置。
本章介绍如何安装和配置 Git 文件服务器。在开始安装之前,您必须满足以下先决条件。
使用 Git 的 Salt Server 先决条件
使用 Git 作为文件服务器的 Salt Server 的最低要求如下 −
- pygit2
- Dulwich
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
可以使用 yum / apt 命令 轻松地在主服务器上安装 GitPython,如下所示。
基于 Fedora 的系统
yum install GitPython
基于 Ubuntu 的系统
apt-get install python-git
安装 DULWICH
可以使用 yum 命令轻松地在主服务器上安装 Dulwich。
基于 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: - git@github.com:user1/sample.git - ssh://user@domain.tld/path/to/sample.git
现在,我们已经使用两个选项 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