2010-05-24 2 views
1

plone3_buildout의 프로세스를 자동화하고 싶습니다.자동 생성기 만들기 -t plone3_buildout

설명 : 기본과 같이 (내가 사용하는 하나) paster를 사용하는 플론 (Plone) 사이트를 구축하는 방법 :

paster create -t plone3_buildout 

이 사이트에 대한 기본 buildout을 나에게 몇 가지 질문을 한 후 작성 .

내가 원하는 것 : buildout을 사용하여이 프로세스를 자동화하고 싶습니다. 내 buildout은이 paster 명령을 실행하여 사전 구성된 값을 쌓아 올리기 도구에 전달합니다.

나는 이것을 할 수있는 제조법을 찾지 못했습니다. 누군가가 어떻게해야하는지 알고 있다면 정보를 공유하십시오.

대화 형 명령에 값을 제공 할 수있는 레서피 (알려진 출력, plone3_buildout 명령과 같이)가 있으면 유용합니다.

답변

2

paster create 명령에 --config 옵션을 사용할 수 있습니다. 이를 통해 질문에 대한 응답이있는 파일을 생성하거나 사용할 수 있습니다.

$ paster create -t plone3_buildout --config=saved.cfg my-buildout 
... 
answer questions 
... 

현재 buildout.config 파일이 현재 디렉토리에 있습니다.

$ cat saved.cfg 
[pastescript] 
eggifiedplone__eval__ = True 
zope_user = admin 
expert_mode = all 
zope2_install = 
plone_products_install = 
tarballs__eval__ = False 
egg_plugins__eval__ = [] 
plone_version = 3.3.4 
debug_mode = off 
plus = + 
dot = . 
zope_password = 
http_port__eval__ = 8080 
egg = test_buildout 
z29tarballs__eval__ = False 
eggifiedzope__eval__ = False 
verbose_security = off 

이 파일을 수정하고 동일한 명령으로 paster를 실행할 수 있습니다.

$ paster create -t plone3_buildout --config=saved.cfg my-new-buildout 

이번에는 질문하지 않습니다. 모든 응답은 config 파일에서옵니다. 최신 ZopeSkel (2.15+)에는 $HOME/.zopeskel에 이러한 설정을 저장할 수있는 방법이 있습니다.

+0

이 솔루션을 이용해 주셔서 감사합니다. 나는 pylons 프로젝트로 시험해 보았는데, 훌륭하게 작동했습니다. 곧 plone 프로젝트에서 시도해 보겠습니다. 나는 아직도 프로젝트 제작의이 단계에서 제조법을 만들고 싶다. – roopesh

1

대화 형 명령 줄 작업을 자동화하기 위해 설계된 "expect"라는 유틸리티가 있습니다.

http://expect.nist.gov

또 다른 방법은 수정하거나 ZopeSkel 패키지의 plone3_buildout 스크립트와 템플릿을 복제 및-사용자 정의하는 것입니다.

그러나이 시점에서 모든 변수를 하드 코딩하면 빌드 아웃을 한 번 만들고 버전 컨트롤에 넣고 복사하고 복제하여 새 인스턴스를 만들 수 있습니다.

+0

예. 그 방법 중 하나입니다. 나는 pexpect를 사용했다. 그런 다음 프로세스 자동화를위한 빌드 아웃 레시피를 작성하려고했습니다. 그것은 현재 진행중인 작업입니다. – roopesh