SaltStack - Git作为文件服务器

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

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

使用Git的Salt Server先决条件

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

  • pygit2

  • Dulwich

使用主配置文件中的 gitfs_provider 参数配置Pygit2和Dulwich.如果未在主文件中配置 gitfs_provider ,那么Salt将优先选择pygit2(如果合适的版本可用),然后是 GitPython Dulwich ./p>

安装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配置

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

简单的https URL规范定义如下.

 
 gitfs_remotes:
  -  https://img01.yuandaxia.cn/Content/img/tutorials/saltstack/github.com

ssh 配置可以完成如下所示.

 
 gitfs_remotes:
  -  git@github.com:user1/sample.git 
  -  ssh://user@domain.tld/path/to/sample.git

现在,我们使用两个选项 fileserver_backend配置了Git文件服务器 gitfs_remotes .

重新启动主

在主文件中进行所有更改后,立即重启主服务器加载Git文件服务器中的所有配置.

多个远程数据配置

以下命令用于中的多个配置主文件中的gitfs_remotes .

 
 gitfs_remotes:
  -  gi t://github.com/sample/sample1.git 
  -  https://img01.yuandaxia.cn/Content/img/tutorials/saltstack/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