Answers:
有一个插件可以将您的基础结构定义保留在Foreman中,几乎将数据的序列化版本保留在Git中,然后上载(并更改您的基础结构)更改。也许对您有用
使用领班,您应该能够查看所有类以及主机详细信息中分配的任何配置变量。参见:http : //theforeman.org/manuals/1.4/index.html。
我不确定我是否理解您的问题,但是您是否遇到过“木偶图书管理员” https://github.com/rodjek/librarian-puppet?您可以在其中定义您要使用的木偶模块的版本/ sha1。
以防万一以后有人阅读:使用puppet,您可以使用“版本=> XYZ”声明定义要安装的软件包/软件的版本。
吉恩,我已尽力而为,但我仍然没有收到您的问题。抱歉:(
您可能还考虑了etckeeper,它会自动执行
你甚至可以写一个包装
vi puppet_wrapper.sh
#!/bin/bash
# variables
ETCKEEPER=`which etckeeper`
ETCKEEPER_MSG=$1
PUPPET=`which puppet`
PUPPET_CMD=$2
# Msg would be your commit msg
etckeeper commit $ETCKEEPER_MSG
# PUPPET_CMD e.g. apply
puppet $PUPPET_CMD
我为此工作了一段时间,可以满足我的需求。
我认为您只需要在git中建立一个存储库,其中git repo的每个分支都将映射到一个puppet环境,并且当您想更改puppet中的某些内容时,只需克隆该repo,进行更改,然后将其推送到相应的分支即可。您还需要设置一个git挂钩,当您将更改推送到git repo时将触发该挂钩,以便它更新puppet服务器上的映射环境。您可以手动或仅通过此木偶模块来完成所有这些操作。