SaltStack - 使用Git作为文件服务器



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

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

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

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

  • pygit2
  • Dulwich

Pygit2和Dulwich是使用主配置文件中的gitfs_provider参数配置的。如果主文件中未配置gitfs_provider,则Salt会优先选择pygit2(如果可用合适的版本),然后是GitPythonDulwich

安装pygit2

以下命令用于在基于Fedora和Ubuntu的系统上安装pygit2:

  • 基于Fedora的系统

yum install python-pygit2
  • 基于Ubuntu的系统

apt-get install python-pygit2

此处,pygit2的最低支持版本为0.20.3。

安装GitPYTHON

可以使用以下所示的yum/apt命令轻松地在master上安装GitPython。

  • 基于Fedora的系统

yum install GitPython
  • 基于Ubuntu的系统

apt-get install python-git

安装DULWICH

可以使用yum命令轻松地在master上安装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配置

您可以为master文件中的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文件服务器。

重启Master

在对主文件进行所有更改后,现在重新启动master以加载Git文件服务器中的所有配置。

多个远程配置

以下命令用于在master文件中的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
广告

© . All rights reserved.