2012-09-16 3 views
2

우리 팀을위한 매우 간단한 자동 배포 시스템을 구현하려고합니다.Heroku에 대한 자동 배포를 위해 svn 커밋 후 Git 푸시?

우리의 코드는 SVN의 환매 특약에 살고, 아직 내가 로컬 다음을 수행 (GIT를 사용) 내 응용 프로그램 현재

을 배포에게 Heroku를 사용 : 나는 자동화를 싶습니다 그러나

svn update 
    git add . 
    git commit -m "foo" 
    git push heroku master 

팀의 모든 사람이 새 코드를 커밋하면 heroku에 자동으로 푸시되고 개발자 사이트에서 볼 수 있도록이 프로세스가 완료됩니다.

쉬운 방법이 있나요? 어쩌면 EC2 인스턴스를 설정하고 ssh'ing (후크 스크립트 사용) 커밋 및 위의 명령을 실행 하시겠습니까? 하지만이 솔루션은 복잡해 보입니다.

+0

한스, 나는이 스레드를 발견했으며, Heroku 배포가 포함 된 CI 서비스 인 drone.io를 알려줄 것이라고 생각했습니다. Subversion과 함께 작동합니다. 빌드 스크립트에서 git repo를 초기화해야합니다 ... http://docs.drone.io/heroku.html –

답변

1

네, 너무 복잡해 보입니다.

이러한 경우 최소한 하나의 VCS에만 관심을 가져야하며 (이 프로젝트에서는 최소한) 다른 유용한 시나리오를 만들 수 있습니다.

IE. Heroku에 대한 모든 변화를 (그리고 그것을 전송 계층으로 사용하는) 좋은 생각은 아닙니다. 때로는 진행중인 작업을 분할하기 위해 무언가를 팀 동료에게 전달해야 할 때가 있습니다. Heroku에 그런 상태, 너는 너의 신청을 부술 것이다. 따라서 하나의 (다른) 공유 저장소 (origin)를 가지고 거기에 모든 것을 푸시하는 것이 더 쉬울 것이며, 중요한 부분이 모두 완료되고 모든 팀 구성원이 확인한 경우에만 두 줄의 코드 (또는 쉘 스크립트) 가장 새로운 주를 얻고 Heroku에 가라.

요즘에는 공유 git 저장소를 만드는 것이 쉬운 작업입니다. SSH 액세스 권한이있는 호스트 계정이있는 경우 gitolite을 사용하여 만들면 저장소와 사용자를 쉽게 설치하고 관리 할 수 ​​있습니다. 그리고 그것은 꽤 무료입니다.

다른 가능성은 GitHub 또는 Assambla과 같은 일부 git 제공 업체를 사용하는 것이므로 작은 프로젝트를 호스팅하기위한 무료/저렴한 요금제를 찾을 수 있습니다.

1

어쩌면 당신은 SVN post-commit hook을 살펴한다 : 당신의 SVN 서버 저장소에, 당신은 각 팀의 커밋 후에 실행 할 수있는 것보다 PATH_TO_REPO/hooks/post-commit라는 쉘 스크립트를 추가 할 수 있습니다.

이 스크립트에는 heroku로 푸시하는 git 명령이 포함되어 있어야합니다.

관련 문제