버전 제어 포먼 & 퍼펫


8

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


찾고있는 것을 찾았습니까? 나는 아직도 포먼 템플릿과 conf를 관리하기위한 전체적인 접근 방식을 찾고 있습니다. mgmt. 이 질문에 대한 답변이 0 인 것으로 나타났습니다.
harperville

답변:


2

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

https://github.com/marianitadn/foregit


언뜻보기에 이것은 내가 찾던 것 일 수 있습니다! 더 빨리 확인하고 그에 대한 답변으로 수락하겠습니다. 감사!
GeneBean


0

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


매우 유용한 정보 (그리고 내가 사용할 가능성이 가장 높은 것)는 내가 찾고있는 것이 아닙니다. 모듈뿐만 아니라 Foreman과 Puppet에서 수행 된 모든 작업에 버전을 적용하려고합니다. 그게 내가하려는 일을 해결합니까?
GeneBean

0

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

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


문제 없습니다. 시도해 주셔서 감사합니다.
GeneBean

0

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

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

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.