Vagrant는 프로젝트의 모든 서버를 관리 할 수 있습니까? (예 : 로컬, 개발, 스테이징 및 프로덕션)

시야

몇 주 전에 나는 Vagrant를 만나 사랑에 빠졌습니다. 나는 현재 새로운 프로젝트에서 그것을 시도하고 있으며 그것은 지역적으로 훌륭하게 작동하고 있습니다. 저는 Chef Solo를 사용하여 모든 상자의 소프트웨어를 빌드하고 Berkshelf를 사용하여 요리 책을 관리하고 있습니다.

내가 궁금한 것은 모든 사람들이 각 프로젝트에 대한 개발, 스테이징 및 프로덕션 서버를 관리하는 방법입니다. 이 프로젝트를 로컬에서 작업하는 동안 프로젝트가 완료되면 개발 서버와 최종적으로 스테이징 및 프로덕션 서버를 갖고 싶습니다.

Vagrant AWS Plugin을 사용하여 Amazon의 Ec2로 Vagrant를 성공적으로 설정 했지만 Vagrant가 vagrant up로컬 상자 개발 상자를 동시에 허용하지 않는 것처럼 보이며 하나만 가질 수 있습니다.

기본적으로이 기능을 제공하는 작은 bash 스크립트를 작성했습니다. 난 뛸 수있어

$ vagrant up local
$ vagrant up development
$ vagrant up staging
$ vagrant up production

그리고 그 상자의 구성 전용 Vagrantfile을 찾아 내가 지정한 각 상자를 빌드합니다. machines각 방랑자 파일 이있는 디렉토리 이름 이 있습니다. 내가 가진 디렉토리 구조는 다음과 같습니다.

- app/
- public/
- vagrant/
    - attributes/
    - machines/
      - local.rb
      - development.rb
      - staging.rb
      - production.rb
    - recipes/
    - templates/

이것이 현명한 해결책입니까?

단일 프로젝트를 위해 여러 서버를 어떻게 관리하고 있습니까? 모든 구성이 하나의 Vagrantfile에 존재할 수 있습니까?

코드 레인저

절대 이러지 마세요. 방랑은 그것을 위해 내장되지 않고는 것입니다 휴식. 예를 들어, 다른 워크 스테이션에서 프로덕션 인스턴스를 조작해야하는 경우 행운을 빕니다 :-( 서버 프로비저닝을 관리하는 도구를 찾고 있다면 확실히 몇 가지 간단한 선택이지만 시도해 볼 도구가 있습니다.

  • CloudFormation (및 OpenStack 용 Heat)
  • Terraform
  • 셰프 메탈

첫 번째는 모두 AWS 기반 (또는 OpenStack) 인 경우 약간 비효율적이지만 매우 강력합니다. 후자의 두 사람은 매우 어리지만 유망 해 보입니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관