📜  SaltStack-Git作为文件服务器

📅  最后修改于: 2020-10-31 14:23:33             🧑  作者: Mango


Git是一个开源的分布式版本控制系统。它可用于跟踪任何文件中的更改。 Salt使用Git文件服务器从Git存储库发送文件。您可以将Git配置为fileserver_backend列表选项,如果需要配置一个或多个存储库,可以使用gitfs_remotes选项进行配置。

本章介绍如何安装和配置Git文件服务器。在进行安装之前,您必须具有以下先决条件。

使用Git的Salt服务器先决条件

盐服务器使用Git作为文件服务器的最低要求如下-

  • pygit2
  • 德威

使用主配置文件中的gitfs_provider参数配置Pygit2和Dulwich。如果gitfs_provider没有主文件中进行配置,然后将盐喜欢pygit2,如果合适的版本,其次是GitPython德威

安装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文件服务器的所有依赖项。现在,让我们使用主配置文件中的fileserver_backend部分配置此Git文件服务器。

后端配置

为了使用Git文件服务器,您需要在主配置文件的fileserver_backend列表中添加Git。它描述如下-

fileserver_backend:
   - git

让我们进一步了解如何在远程配置中配置Git文件服务器。

gitfs_remotes配置

您可以在主文件中为gitfs_remotes配置指定一个或所有URL,例如git://,https://,file://或ssh://。这用于搜索请求的文件。

下面定义了简单的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_backendgitfs_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.gitsample.doc可能具有以下文件。

sample1.git:
   top.sls
   
sample2.git
   edit/vimrc
   
sample.doc
   edit/vimrc