2010-07-07 2 views
4

Django 용 buildout을 사용하여 놀고 있습니다. 프로젝트 및 응용 프로그램을 배포하기위한 기본 설치 방법으로 buildout을 사용하고 싶습니다. 이런 맥락에서 각 응용 프로그램에는 프로젝트뿐만 아니라 빌드 아웃이 포함되어있는 것이 가장 좋습니다. 어떤 수준에서 빌드 아웃을 적용해야합니까?Django buildout

감사합니다,

+1

아직 모르시는 분은 다음과 같습니다. http://python.mirocommunity.org/video/1689/pycon-2010-django-deployment-w –

+0

기록 : buildout 태그를 추가했습니다. –

답변

4

토드 나는 보통 그것을 설정하는 방법은 다음과 같은 경우 : buildout은 종종 어쨌든 하나의 프로젝트에 연결 (내 경우)입니다

buildout_dir/ 
    + bootstrap.py 
    + buildout.cfg 
    + ... 
    + <project_name>/ 
     + settings.py 
     + templates/ 
     + media/ 
     + ... 

때문에, 장고 프로젝트를 빌드 아웃 안에 직접 저장합니다. 그건 그렇고 : 내 buildout 구성에서 djangorecipe을 사용하고 있습니다. 내가 쓰기

응용 프로그램은 간단한 계란하고 레이아웃의 종류가 있습니다

django-<app_name>/ 
    + setup.py 
    + <app_name>/ 
     + __init__.py 
     + models.py 
     + ... 

을하지만 또한 아파트형 buildout있는 응용 프로그램을 본 적이있다. Jacob Kaplan-Moss도 wrote an article about it입니다. 나를 위해

/ 
|- buildout.cfg # contains bas configuration used by other cfg files 
|- development.cfg # adds ton of eggs used only in development and generates manage script using djangorecipe 
|- production.cfg # most of the time it contains versions and generates django script using djangorecipe 
+0

안녕하세요, 감사합니다. 동영상에 대해 알지 못했습니다. 내 필수 목록에 바로 올라갑니다. 약간의 이해를 가져 주셔서 감사합니다. 앱이 달걀이든 아니면 스스로 만들어 져야하는지는 내가 끊어 버린 마지막 줄입니다. 하지만 나는 계란 방식으로 갈 것 같아. –

+0

와우, 약간 느린 업 그레 이드,하지만 조금 불행한 점은 djangorecipe가 기존 장고 프로젝트를 가리키는 옵션을 projectegg라고합니다. 내가 방금 Django 프로젝트를 buildout 디렉토리에 집어 넣을 필요가 있다는 것을 알기까지는 나이가 들었다. (그러나 대답은 대답이다.) 대신 난 buildout 디렉토리에 계란을 다운로드하는 방법을 알아 내려고했다. –

1

나는 항상 프로젝트에서 적어도 두/세 buildout의 CONFIGS (웹 사이트) 루트가 있습니다. 프로젝트의 구축은 사이트를 구축하기위한 것입니다. 포함 : 별도의 gunicorn 정도를 실행하려면

  • 는 아파치/nginx를 설정 파일 (collective.recipe.template)

  • 아마도 cronjob에

  • 아마도 관리자를 생성하는 단계를 포함한다.

모든 앱에는 빌드 아웃이 있습니다. 여기서 목표는 특히 테스트를 위해 격리 된 환경을 쉽게 설정하는 것입니다. 앱을 배포 할 필요는 없으며 개발 서버를 실행하고 테스트를 실행하기에 충분하도록 설정 만하면됩니다.

나를 위해, buildout은 격리 (예 : virtualenv)와 설치 (pip와 같은) 플러스 프로젝트 자동화입니다. 대부분 앱의 처음 두 개를 사용합니다. 그리고 사이트에 대한 세.

1

, 나는 모든 응용 프로그램을 포기하고 모든이 buildout 프로젝트 :

1

필자는 모든 필수 종속성을 가져 오는 프로젝트마다 빌드 아웃을 항상 만듭니다. 이것은 단순한 계란 일 수도 있고 개발자 (git (hub))의 내부 종속성 일 수도 있습니다.

애플리케이션 별 빌드 아웃이 필요하지 않습니다. 각 장고 설정 구성 (예 : 개발, 생산 등)에 대해 일치하는 buildout.cfg를 갖는 것이 좋습니다.

빌드 아웃은 프로젝트 폴더에 간단히 적용되며, 종속성은 자동으로 포함됩니다 (그리고 mr.developer).

또한 bootstrap.py를 포함하여 제 의견으로는 약간 구식입니다. 나는 항상 virtualenv + pip를 실행하여 zc.buildout을 설치합니다. 이 작업은 프로젝트 폴더 자체에서 수행하거나 외부에서 수행 할 수도 있습니다.~/virtualenvs/myproject-123)

관련 문제