2011-05-13 6 views
5

"어디에서 실행 중인지"를 추적하는 도구를 찾고 있습니다. 우리는 많은 서버를 가지고 있으며, 각각의 서버에는 많은 프로젝트가 있습니다. 이러한 프로젝트는 특정 버전 (hg 태그/커밋 nr)에서 실행될 수 있으며 특정 버전에서도 필요합니다.Python : 배포 추적 도구

패브릭은 ssh 부분을 자동화하여 실제 배치를 수행하는 훌륭한 시작처럼 보입니다. 그러나 배포가 완료되면 수행 된 작업에 대한 개요가 없습니다.

휠을 재발 명하기 전에 여기에서도 확인하겠습니다. (Google에서 최선을 다했으나 잘못된 키워드를 찾을 수 있음). 그런 도구가 이미 있습니까?

은 (실제로 나는 장고 프로젝트를 배포하고있어,하지만 난 그 질문에 대한 관련성이 확실하지 않다; PIP를 추적 아무것도/VIRTUALENV 설치 또는 일반적으로 서버 상태는 괜찮을 것)

많은 감사 ,

클라스

========== TEMP에 대한

편집 할 수 있습니다. 우리는 위대한 걸릴 : 지금은 해결

==========

, 우리는 단순히 (파일 시스템 우리의 경우) 간단한 키 - 값 저장소에이 정보를 저장하기 위해 선택한 백업 (우리의 경우 : DCVS 사용). 실제 배포를 수행하는 데 사용하는 것과 동일한 배포 도구로이 상점을 추적합니다 (여기서는 fabric)

암호는 Google의 키 - 값 저장소에 저장된 TrueCrypt 볼륨에 저장됩니다.

이 문제에 대한 오픈 소스 솔루션의 일종 어딘가에 팝업 때 여전히 기꺼이 어떤 대답을 받아

==========. 나는 가까운 미래에 어딘가에서 우리의 해결책의 일부를 나눌지도 모른다.

답변

1

pip freeze은 설치된 모든 패키지 목록을 제공합니다. 보너스 : 출력을 파일로 리디렉션하는 경우 배포 프로세스의 일부로이 출력을 사용하여 모든 패키지를 설치할 수 있습니다 (pip는 파일에서 프로그래밍 방식으로 모든 패키지를 설치할 수 있음).

나는 이미 virtualenv를 사용하고 있습니다. 좋은. pip freeze -E myvirtualenv > myproject.reqs을 실행하여 Python 환경의 상태 보고서를 겸하는 종속성 파일을 생성 할 수 있습니다.

+0

답해 주셔서 감사합니다. 나는 이미 pip freeze를 사용하고 있는데, 여러 서버에서 여러 프로젝트의 상태 (여러 버전 포함)를 추적 할 수있는 포괄적 인 도구인지 궁금해하고있었습니다. –

0

아마도 당신이 원하는 자신의 말로 OpscodeChef.

같은 : 당신이 당신의 서버의 일부 방법을 설명 요리법 (아파치 등을 쓸 수 있도록함으로써

요리사 작동 , MySQL 또는 Hadoop)을 구성 할 수 있습니다. 이러한 조리법은 일련의리소스 (예 : 패키지), 서비스 (실행해야 함) 또는 (파일을 작성해야 함)을 설명합니다.그런 다음 각 리소스가 으로 올바르게 구성되었는지 확인하고 시정 조치 만 취하면 필요합니다. 그 결과 서버가 정확히 을 실행하고 있는지 확인하기위한 유연한 메커니즘 인 안전한 입니다.

편집 : 주 요리사는 루비 (보인다)로 작성된 범용 도구입니다, 파이썬 도구가 아닙니다. 그러나 설치/유지 보수를 포함한 다양한 "요리 책"을 지원할 수 있습니다. Python apps.

+0

아직 그다지 이상하지 않습니다. 서버에서 코드를 가져 오는 실제 방법을 찾고있는 것보다 다양한 서버에서 많은 프로젝트를 추적하는 좀 더 우아한 솔루션을 찾고 있습니다. 후자의 문제는 다양한 방식으로 해결되는 것처럼 보이지만 전자는 그렇지 않습니다. –

+0

설치 장소를 추적하는 것은 "비밀의 소스"가 어디에 있는지 추적합니다. 잘하는 사람/실체는 그것에 대해 솔직하게 말하지 않는 것 같습니다. 아마도 "sause"는 인프라에 매우 민감하기 때문일 수 있습니다. –

관련 문제