バージョン管理職長と人形


8

Foremanを初めてセットアップしたばかりで、すべての構成をバージョン管理下に置く方法がわかりません。Puppetマスターにインストールする各モジュールにGitを使用できることはわかっていますが、モジュールだけでなく、各ホストに関連付けられているクラスやホストに設定されている変数も網羅する、より包括的なソリューションを好むでしょう。提案があれば、関連するワークフローとともに大歓迎です。必要に応じて、GitLabをサイトの中央Gitサーバーとしてセットアップし、JenkinsなどのCIサーバーをすぐにセットアップする予定です。


探しているものが見つかりましたか?Foremanのテンプレートとconfを管理するための全体的なアプローチを探しています。管理。この質問には受け入れられた回答がないことに気づきました。
harperville、2018年

回答:


2

Foremanでインフラストラクチャの定義を維持するプラグイン、Gitでデータのシリアル化されたバージョン、およびアップロード(およびインフラストラクチャを変更)の変更を保持します。多分それはあなたのために役立つでしょう

https://github.com/marianitadn/foregit


一見すると、これはまさに私が探していたものかもしれません!私はそれをもっとすぐにチェックして、もしそうなら答えとして受け入れます。ありがとう!
GeneBean 2014年


0

私はあなたの質問を理解しているかどうかはわかりませんが、「人形の司書」https://github.com/rodjek/librarian-puppetに出くわしましたか?そこで、使用したいパペットモジュールのバージョン/ sha1を定義できます。


非常に役立つ情報(および私が使用する可能性が最も高い情報)ですが、探している情報ではありません。モジュールだけでなく、ForemanとPuppetで行われるすべてのものにバージョンを適用したいと考えています。それは私が何をしようとしているのかを明確にしますか?
GeneBean 2014

0

誰かが後でこれを読んでいる場合に備えて:puppetでは、「version => XYZ」宣言を使用して、インストールするパッケージ/ソフトウェアのバージョンを定義できます。

ジーン、私は最善を尽くしましたが、それでもあなたの質問を受け取れません そのために残念 :(


問題ありません。この試みに本当に感謝しています。
GeneBean 2014

0

あなたが求めているのはとてもシンプルだと思います。

Puppetの設定はにあり/etc/puppetます。最も単純なオプションは実行することです

git init /etc/puppet/

その後、Gitlabをリモートとして追加し、それにプッシュできます。

あるいは、ここで説明するフォアマン中心ではないものを試すこともできますが、それをインスピレーションとして使用できなかった理由はわかりません。


0

自動的に行う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

私はしばらくこれを使っていますが、私のニーズには問題ありません。


0

私はあなたがgitでリポジトリをセットアップする必要があるだけだと思います.git repoの各ブランチがpuppet環境にマップされ、puppetで何かを変更したい場合は、ただrepoを複製し、変更して、対応するブランチにプッシュします。また、変更をgitリポジトリにプッシュしたときに起動するgitフックを設定して、puppetサーバーのマップされた環境を更新する必要もあります。このすべてを手動で、またはこのパペットモジュールを介して実行できます。

https://github.com/theforeman/puppet-puppet

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.