2012년 8월 23일 목요일

rebar vs sinan


erlang project로 package를 만들어, release를 하고, deploy하고, 서비스를 하고, upgrade version을 running time에 live hot code swap을 하려면....

이 일련의 과정이 매우 쉽고 자연스럽게 된다면....

rebar와 sinan이 그 문제를 해결하려고 했는데...
여전히 쉽게 풀리지 않은 상태이다.
http://www.metabrew.com/article/erlangotp-releases-rebar-release_handler-appup-etc
이 블로그에서도 마지막에 위의 요구사항이 되었으면 하면서 끝맺음을 한다.

rebar를 쓰다가 sinan을 써보니, sinan은 release에는 잘 되어 있지만, dependency 관리가 어려운 편이다. rebar는 dependency관리는 잘 되는데, release 하기가 까다롭다.

숙련된 개발자는 물론 어찌되었든 잘 관리하고 있을텐데, 그 방법이 궁금하다.

일단 rebar를 잘 써보기로 했다. 보조 스크립트들을 잘 구성화면 요구사항을 만족할 수 있을 듯.

upgrade를 하는 기능이 새로 나왔었구나! 써보자!
https://github.com/basho/rebar/wiki/Upgrades
비디오 영상도 있다!
http://vimeo.com/8311407

--
rebar로 설치본을 만드는 것을 다시 해봤는데, 성공을 했지만, 매우 귀찮은 과정을 거쳐야 했다. 있어야 할 beam file을 copy하지 않아서 수동으로 copy해야 했다. 뭔가 잘못된 것 같은데...
sinan으로 다시 dependency 관리를 해봐야겠다. 아마도 app2에 dependency library source를 놓으면 될 듯 하다.

아래 링크를 꼭 확인하자. 제일 편하게 만들어 놓았다!
http://blog.pqsdk.org/from-zero-to-deployment-with-cowboy-in-5-minu
이걸 수정하여, 다시 이렇게 만들었다.
https://github.com/wdshin/myappt

=>
rebar와 reltool에 완전히 익숙해졌다. 다음 프로젝트의 구성을 참고하면 된다.
https://github.com/wdshin/bigwig