2009-03-18 3 views
3

나는 장고 프로젝트를 진행 중이다. 그리고 우리 팀은 민첩한 실행 (TDD, 매우 짧은 실행 시간 등)을 따릅니다.좋은 코드 배포 전략은 무엇입니까?

기능의 배포 단계에서는 수동 절차에 따라 프로덕션 컴퓨터에 코드를 배포합니다. 수동적 인 절차는 수동으로 (전체 프로젝트의) 테스트 케이스를 수동으로 실행하고 syncdb (또는 최신 db 변경)를 수동으로 실행하는 것입니다.

이 수작업은 매일 약 1 시간 30 분 정도 소요됩니다. 그래서 이것을 자동화하고 싶었습니다. 그래서 어떤 자동 배치 시스템이나, 내가 원하는 명령을 내리고 내가 원하는 것을 수행하거나 수동으로 만 수행해야만하는 명령이 무엇입니까 ?? (내 모든 명령을 가지고있는 간단한 쉘 파일을 사용한다. 어떤 경우 든 실패 할 경우 프로덕션 컴퓨터에서 최신 코드를 업데이트하고 싶지 않기 때문에 쉘 프로그래밍을 조금 배워야한다.) 약간의 쉘 프로그래밍이 필요할 수도 있습니다.)

답변

4

필자는 스스로 이것을 연구하기 시작했으며 Capistrano의 Python 동등 물이 Fabric 인 것처럼 보였습니다. Capistrano가 너무 루비/레일 중심이기 때문에 단순히 전환하기를 원하는 사람들이 점점 늘어나고있는 것처럼 보입니다. Capistrano가 불가능하거나 부족한 것에 대해 불평하는 사람은 아무도 없었습니다. YMMV. 자세한 내용은 herehere입니다.

수정 : Fabric이 많은 변화를 겪고있는 것처럼 보입니다. 그들은 그들의 홈페이지를 http://docs.fabfile.org/

+0

으로 옮깁니다. 직물에 대한 자세한 내용 : http://stackoverflow.com/questions/1233655/what-is-the-simplest-way-to-ssh-using-python – hughdbrown

+0

내 동료 중 한 명 'svn update'처리를위한 python 스크립트를 작성하고, 테스트 케이스 및 기타 케이스를 실행합니다 (질문에 언급 된 조건을 기반으로). 그것은 Fabric과 같은 줄에있다. –

1

Agile 용어로 배포 프로세스에서 중복을 식별 했으므로 이제 리팩터링하는 방법을 찾고 있습니다. 루비/레일 세계에서

;-), 당신은 Capistrano 또는 Vlad The Deployer 먼저 설정 것, 그리고 AFAIK 하나가없는 것을 제외하고 파이썬/장고 세계에서 당신은 동등한로 전환 것입니다.

this post에서 Capistrano가 Django 배치를 성공적으로 처리 한 것으로 보이므로 조사 할 가치가있는 옵션입니다.

그 외에도 쉘 프로그래밍이 필요한 이유는 무엇입니까? 파이썬에서 매우 강력한 스크립팅 언어를 사용하고 있습니다. 왜 수동 프로세스를 자동화하지 않을까요?

관련 문제