버전 제어 포먼 & 퍼펫 Git을 사용할 수 있지만 모듈뿐만 아니라 각

방금 Foreman을 처음 설정했으며 모든 구성을 버전 제어하에 두는 방법을 잘 모르겠습니다. 필자는 Puppet 마스터에 설치하는 각 모듈에 Git을 사용할 수 있지만 모듈뿐만 아니라 각 호스트와 관련된 클래스 및 호스트에 설정된 변수를 포함하는보다 포괄적 인 솔루션을 선호합니다. 모든 제안은 관련 워크 플로와 함께 크게 감사하겠습니다. 관련이있는 경우 사이트의 중앙 Git 서버로 GitLab을 설정하고 곧 Jenkins와 같은 CI 서버를 설정할 계획입니다.



답변

Foreman에서 인프라 정의를 유지하고 Git에서 데이터의 직렬화 된 버전을 유지하고 변경 사항을 업로드 (및 인프라 변경)하는 플러그인이 있습니다. 어쩌면 그것은 당신에게 도움이 될 것입니다

https://github.com/marianitadn/foregit


답변

감독을 사용하면 호스트 세부 정보에 지정된 구성 변수와 함께 모든 클래스를 볼 수 있어야합니다. http://theforeman.org/manuals/1.4/index.html을 참조하십시오 .


답변

귀하의 질문을 이해하고 있는지 확실하지 않지만 “인형 사서” https://github.com/rodjek/librarian-puppet ? 여기에서 사용하려는 퍼펫 모듈의 버전 / sha1을 정의 할 수 있습니다.


답변

누군가 나중에 이것을 읽고있는 경우 : 꼭두각시를 사용하면 “version => XYZ”선언으로 설치하려는 패키지 / 소프트웨어 버전을 정의 할 수 있습니다.

유전자, 나는 최선을 다했지만 여전히 질문을받지 못합니다. 그 죄송합니다 🙁


답변

나는 당신이 무엇을하는지 매우 간단하다고 생각합니다.

퍼펫 구성은에 /etc/puppet있습니다. 가장 간단한 옵션은 실행하는 것입니다.


git init /etc/puppet/

그런 다음 Gitlab을 리모컨으로 추가하고 푸시 할 수 있습니다.

또는 포먼 중심이 아닌 여기에 설명 된 것과 같은 것을 시도 할 수 는 있지만 영감으로 사용할 수없는 이유는 없습니다.


답변

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 repo의 각 분기가 꼭두각시 환경에 매핑 될 git에 리포지토리를 설정해야한다고 생각합니다. 그리고 꼭두각시에서 무언가를 변경하려면 repo를 복제하고 변경하고 해당 분기로 푸시하십시오. 꼭두각시 서버에서 매핑 된 환경을 업데이트 할 수 있도록 변경 내용을 git repo로 푸시 할 때 발생하는 git hook도 설정해야합니다. 이 모든 것을 수동으로 또는이 꼭두각시 모듈을 통해 수행 할 수 있습니다.

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