- SaltStack 教程
- SaltStack - 首頁
- SaltStack - 概覽
- SaltStack - 架構
- SaltStack - 競爭對手
- SaltStack - 安裝
- 建立簡單的環境
- SaltStack - 訪問控制系統
- SaltStack - 作業管理
- SaltStack - Salt 檔案伺服器
- SaltStack - 使用Git作為檔案伺服器
- 使用MinionFS作為檔案伺服器
- SaltStack - 使用Cron與Salt
- SaltStack - 遠端執行
- 配置管理
- SaltStack - 日誌記錄
- SaltStack - 透過SSH使用Salt
- Salt用於雲基礎設施
- SaltStack - Salt代理Minion
- SaltStack - 事件系統
- SaltStack - 編排
- SaltStack - Salt包管理器
- SaltStack - Python API
- SaltStack - 工作示例
- SaltStack 有用資源
- SaltStack - 快速指南
- SaltStack - 有用資源
- SaltStack - 討論
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(如果可用合適的版本),然後是GitPython和Dulwich。
安裝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_backend和gitfs_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.git和sample.doc可能包含以下檔案。
sample1.git: top.sls sample2.git edit/vimrc sample.doc edit/vimrc