2012-10-25 3 views
0

나는 소수의 개발자 그룹이 있으며 우리 모두는 자체 시스템에서 개발합니다. 테스트 할 준비가 된 코드가 있으면 우리는 RhodeCode 설치를 병합하여 푸시합니다. 내 중앙로드 코드의 환매 특약의 hgrc 파일은 다음과 같이 설정 :로드 코드로 사람을 검사 코드, 변경 사항이 자동으로 테스트 환경에 밀어 그래서 웹 인터페이스에서 구성된 hg 저장소에 푸시

[paths] 
test_env = /www/mysite/test 
prod_env = /www/mysite/prod 
[hooks] 
changegroup = hg push test_env 

. (test repo hgrc 파일에는 hg 업데이트가 있으므로 코드가 업데이트됩니다.) 이것은 완벽 해.

하지만 .. RhodeCode 관리자가 서버에서 셸 액세스를하지 않고도 문제를 해결할 수 있기를 바랍니다. RhodeCode 인터페이스에서 "hg push prod_env"를 실행할 수있는 방법이 있습니까? 나는 RhodeCode가 hg에 대한 완전한 제어권을 가지고 있기 때문에 가능하다고 생각하지만,이 능력은 RhodeCode 어딘가에 존재합니까? 그것을 추가하는 것은 큰 일이 될 것입니까?

그렇지 않은 경우 인증 된 사용자가 쉘 액세스없이 저장소로 프로덕션을 푸시 할 수있게하려면 어떻게해야할까요? 나는 인터넷 검색을하고 있지만 아무것도 찾을 수없는 것 같습니다. 나는 경유 (와 PHP 스크립트를 작성할 수 있습니다 알고있다 "HG 푸시 test_env), 그러나 아파치로 실행으로 그 사용 권한 악몽처럼 보인다"아무도 "와로드 코드가 REPO를 소유하고있다.

생각을?

+0

프로젝트 이슈 트래커의 소유자에게 직접 게시하는 것이 더 나을 것입니다 : https://bitbucket.org/marcinkuzminski/rhodecode/issues?status=new&status=open – Blaskovicz

+0

나는 응답을받지 못했습니다. 여기에오고. 그들은 이후 스크립팅 컨트롤이 추가되었다고 말했습니다. – whiteatom

+0

freenode에 #rhodecode irc를 시도해 볼 수도 있습니다. 나는 거기에서 행운을 빈다. – Blaskovicz

답변

0

이 질문에 대한 답은 다음과 같습니다.

PHP에서 비밀번호로 지정된 페이지를이 버튼을 실행하여 작성했습니다. 코드 :

shell_exec('hg pull -R ../wp-content/themes/2014'); 

나는 다음 자극의 웹 사이트에 대한 hgrc 파일에 HG 업데이트를 놓고, 웹 사용자와 저장소의 권한이 부여 된 사용자를했다.

꽤 괜찮습니다. 결과적으로 파일 소유권 때문에 약간의 보안 문제가 있지만, PHP가 적절한 방법을 따른다면 어떤 문제도 없습니다.

1

물론, 아무 것도 할 수는 없지만 prod_env에서 RhodeCode 인터페이스의 일부 파일을 추가하거나 편집하면 prod_env에서 로컬 커밋 및 푸시가 발생합니다.

관련 문제