CI 묻고 답하기

제목 svn을 사용하려면..
글쓴이 태양이 작성시각 2009/10/26 12:37:46
댓글 : 6 추천 : 0 스크랩 : 0 조회수 : 30807   RSS

클아이언트 pc에 설치되어야 할 것이
svn client tool(예를들면 totoies 같은..)만 있으면 되나요?
아니면, apm 환경도 구축 되 있어야 하나요?


이것을 여쭤보는 이유는
지금까지는 실서버와 개발서버로만 되 있어서 apm 을 실서버와 개발서버 이 두 곳에만 설치하면 됐었는데,

(참고로 기존 개발방식은 개발자마다 에디트플러스의 ftp기능을 이용해서 (개발서버에 직접 접속하여)개발하고,
중간중간 개발한 페이지의 확인은 http://개발서버ip/개발한페이지.php 이런식으로 했었어요
충분히 대화를 하고 작업을 한다 해도 두 사람이 동일한 파일을 수정하는 경우 등을 완전히 잡아낼 수는 없었지요)

svn을 도입하면 개발자마다 apm을 설치해야 하는것 아닌가 해서요..

설치하는것이야 apmsetup등으로 간편하게 되겠지만,
왠지 윈도우즈기반에서 개발한 것은 나중에 (리눅스인) 실서버에 반영시키기 전에
혹시나 운영체제의 차이로 인한 문제가 없는지 테스트를 충분히 해야하는 번거로움이 생길것 같습니다.
(개발서버는 가급적 실서버와 동일한 환경을 만들어야 마음이 편하잖아요.)


그래서 제가 생각한 것이
기존 개발서버에 svn서버를 추가로 (yum으로) 인스톨 하고,

svn repostory의 특정 프로젝트와 개발중인 소스의 동기화는 클라이언트 툴(tortoies)을 사용하지 않고
ssh쉘 상에서 명령어 입력으로 특정프로젝트에 해당하는 (개발자별 계정의) 디렉토리로 동기화(체크아웃-커밋-업데이트 등)를 하고, 
기존처럼 editplus의 ftp 기능을 사용할 수 있지 않을까 해서 질문을 하게 되었습니다.


그럼 좋은 하루 보내세요..

 다음글 ci captcha를 사용하려고 하는데. (1)
 이전글 다들 썸네일은 어케 하고 있나요? (6)

댓글

변종원(웅파) / 2009/10/26 17:54:47 / 추천 0

개발자 각자의 pc에도 apm환경을 구축하는게 좋습니다.
그래야 각자의 pc에서 제대로 돌아가는지 확인을 하고 커밋을 할테고 확인과정이 없다면 머리속에서
구현하고 커밋, 최종권한자가 자기 pc에서 돌아가는지 확인후 에러가 나면 다시 지시해야합니다.
각자 pc에 apm이 설치되고 각자 에러가 없는지 확인후 커밋을 하게되면 최종권한자(svn서버에서
실제 서비스서버로 데이터를 올리는 권한을 가진자)도 자기 pc에 업데이트후 기능테스트.
이상이 없다면 svn서버에서 실제 서비스서버로 expoert 합니다.

각자 구현한 것을 확인하지않고 테스트서버에 올려서 테스트후 이상이 있다면 다시 각자 에러수정후
테스트서버에서 테스트한다면 말씀하신 방식으로 하셔도 됩니다.

그렇지만 apm환경 설치를 하고 각자의 pc에서 기능테스트 한다면 개발서버가 불필요해집니다.
실제 서비스서버에 svn 설치. 각자의 pc에서 개발, 기능확인. 이상이 없다면 최종권한자가
svn서버에서 실 서버로 export(명령어 한줄이면 됩니다). 끝..

어떤 것이 편한지는 위 두가지 상황을 머리속에 그려보시고 판단하시기 바랍니다.
만약 보안때문이라면(각 개발자간 전체 소스를 공유할 필요가 없다면) 태양이님 방식으로 하는 것도
좋습니다.

추가. 윈도우 apm 셋팅 무지 간단합니다. xampp나 apmsetup 같은 툴을 사용하면 클릭 몇번으로 설치가 가능합니다.

ci세상 / 2009/10/26 18:35:16 / 추천 0

SVN 서버는 자동으로 트러블을 조율해 주는 역할이 핵심이지 않나 싶습니다.

보통은 팀장 개인 컴퓨터에 SVN 서버를 설치해 두고 팀원들이 svn으로 보고를 해주면 팀장이 ant 빌드처리해서 올려버리면 될것 같습니다. (귀찮으면 ant 자동빌드를 만들어도 되구요^^)


태양이 / 2009/10/26 19:33:04 / 추천 0
웅파님과 ci세상님 답변 감사 드려요 (_ _)

내용을 장황하게 쓰다보니 제가 질문 의도를 잘 표현하지 못했네요.

각자 pc에 apm을 설치하는 방식에 대한 거부감이 든 이유는
윈도우apm 환경에서 개발한 것이 리눅스apm에서 100% 문제 없이 실행될까? 하는 걱정과
안전하다 해도 개발자 자리마다 apm을 설치하는것에 대한 번거로움 때문이었습니다.

혹시, 이 윈도apm에서 개발할때 시스템변수나, 시스템명령어 쓰는거 아니고는 어지간한거 개발할때는 윈apm도 전혀 문제 없더라.. 등의 경험적인 지식을 전달해 주시면 감사하겠습니다. (_ _)..



끝으로,
제가 중의적인 표현을 해서, 읽으시는데 착오를 일으킬 수 있는 부분이 있엇네요
-------------------------------------------------------------------------------
그래서 제가 생각한 것이
기존 개발서버에 svn서버만 추가로 설치 하고, 

=> 기존 apm이 설치된 개발서버에 yum으로 svn서버를 추가로 인스톨하고 으로 정정합니다.
-------------------------------------------------------------------------------
변종원(웅파) / 2009/10/26 21:06:30 / 추천 0

저희 회사에서 7개월째 한 프로젝트를 svn+trac+에디터(이클립스, phpdesigner)로 진행중입니다.
각자 개인pc에 apm과 tortoiseSVN 설치되어있고 실 서비스 서버에 svn과 trac이 설치되어 있습니다.
초기에는 경로부분이 살짝 문제가 되었는데 절대경로 및 상수사용으로 해결됐구요.
시스템변수라던가 그런 문제는 없었습니다.
권한이 필요한 부분만 주의해서 개발하면 됩니다. (디렉토리에 쓰기, 삭제작업을 한다면)

윈도우apm 환경이라고 해서 리눅스apm환경과 결과가 틀리게 나오거나 그런 것은 없습니다. ^^


 

태양이 / 2009/10/26 22:29:51 / 추천 0

웅파님 많은 도움이 되었습니다.
바쁘실텐데 소중한 시간내어서 자세한 답변 해 주시니 정말 감사드립니다.  (_ _)
그림까지 곁들여서 설명해 주신 ci세상님께도 다시 한번 감사 드려요. (_ _)
 

ci세상 / 2009/10/26 23:01:16 / 추천 0
개발서버에 SVN서버를 설치하는것은 개인적으로 반대합니다.

SVN의 또하나 중요한 기능이 히스토리 / 백업 기능입니다.  히스토리는 ~~ 납품을 할때에도 제공을 해줘야 하기 때문입니다. 그래서 가급적 SVN 서버는 독립적으로 구성하거나,, 팀장 노트북 외장하드에 저장을 시켜서 장기 보관으로 들어가게 되는것 같습니다.^^

로컬에서 디버그를 안한다는 부분은 소스완성도를 저하 시킬 수 있는 부분이라서 반대합니다.

이클립스와 같은 툴을 사용하여서 디버그, 실행, 디비처리등을 사용할 수 있도록 팀원들에게 교육을 시키는것도 좋을것 같습니다.^^


뭐든지 반대만 해서 죄송하네요 ~~;;