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.