Puppet을 사용한 응용 프로그램 배포


10

저는 Puppet을 처음 사용하고 몇 년 동안 * nix 시스템을 사용해 왔지만 시스템 관리자 나 운영 부서에서 일한 적이 없습니다.

현재 (PHP / MySQL / MongoDB, git의 코드) 웹 응용 프로그램 집합을 호스팅하기 위해 Puppet 매니페스트를 작성하고 있습니다. 분명히 각각의 가상 호스트를 설정하기 때문에 Puppet은 실제 응용 프로그램에 대한 지식이 필요하지만 Puppet이 코드 배포 및 데이터베이스 생성과 같은 것을 관리해야하는지 확실하지 않습니다.

Puppet은 응용 프로그램 배포에 적합한 도구입니까? 그렇지 않은 경우 더 적절한 도구를 추천 할 수 있습니까?


3
나중에이 문제가 발생하면 모든 답변이 훌륭합니다. 답변으로 선택한 답변을 읽지 마십시오.
michaeltwofish

답변:


10

배포를 위해 Capistrano 또는 Fabric 을 살펴 봅니다 .

이 두 도구를 사용하여 배포가 수행되는 방식을보다 잘 제어 할 수 있습니다.


두 가지 솔루션을 제공했기 때문에이 답변을 +1했습니다.
François Beausoleil

나는 포인터에 감사드립니다. 스택의 다른 곳에 루비가 있으므로 Capistrano를 살펴 보겠습니다.
michaeltwofish

9

Puppet은 많은 대규모 조직의 배포에 사용되지만 항상 완벽하지는 않습니다. 대부분 배포 방법에 따라 다릅니다. 한 번에 많은 컴퓨터에 배포하고 있습니까? 롤링 배포를 수행합니까?

일부 조직은 배포 패키지를 구축 한 다음 꼭두각시 정책을 통해 해당 패키지의 올바른 버전이되도록 Puppet을 사용합니다. 퍼펫에는 환경 개념이 포함되어 있으므로 환경을 사용하여 단계별 배포 (예 : 개발, 테스트, 생산)를 수행 할 수 있습니다.

다른 조직에서는 꼭두각시를 사용하여 rsync, git checkout 또는 꼭두각시를 사용하여 재귀 적으로 파일 복사본을 실행하여 배포를 조정합니다 (아주 느리지 만).

배포에 사용할 수있는 다른 훌륭한 도구들도 있습니다. 과거에는 Whisky Disk (간단한 루비 도구)를 사용해 왔으며 많이 좋아했습니다.

(면책 조항, Puppet Labs에서 일합니다)


감사. 배포는 현재 수동 rsync를 사용하는 두 대의 균형 서버에 배포됩니다.
michaeltwofish


4

Puppet은 제 생각에 응용 프로그램을 배포하는 데 적합한 도구가 아닙니다.

테스트 및 준비를 위해 코드를 작성하고 배포 하는 데 Jenkins 를 사용 합니다.

Jenkins는 원래 지속적인 통합 서버이지만 실제로 유연하고 모듈 식입니다. 애플리케이션 배포에 도움이되는 Jenkins 용 플러그인이 많이 있습니다.

응용 프로그램의 경우 SSH통해 게시 된 WAR 파일을 대상 서버에 복사 한 다음 백업 및 배포를 수행하는 스크립트를 실행하는 Jenkins를 구성 했습니다. 도움이 되었기를 바랍니다!


우리는 CI를 위해 Jenkins를 사용하고 있기 때문에, 이것은 정말 흥미로운 옵션입니다. 감사합니다.
michaeltwofish


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