요즘 들어 메이븐과 넥서스 연동에 한참 불을 올리고 있는 개발자입니다.
뭐 누가 시켜서 하는건 아니고 혼자 해보고 있는 중인데요.. 회사에서 VM 서버를 하나 주셨네요 ^^;
CENTER OS 에 넥서스를 설치해서 현재 로컬에 메이븐 프로젝트 생성 후 라이브러리 까지 받아 기존에 있는 소스를 메이븐화
시켰네요..
근데 해보니 의문점이 생겼어요!
자 첫번째 질문 들어갑니다.
첫번째 질문, 넥서스는 라이브러리만 관리가 가능한가요? 그렇다면 소스관리는 SubVersion에서 하는 것인가요?
두번째 질문, 왜 넥서스 인가? 넥서스를 사용하는데 있어서 장점은 무엇이며 단점은 무엇일까요?
꼭 넥서스를 사용해야 할까요?
저만 드는 생각일까요? 저런..궁금해 죽겠네요..^^;;
안녕하세요.
요즘 들어 메이븐과 넥서스 연동에 한참 불을 올리고 있는 개발자입니다.
뭐 누가 시켜서 하는건 아니고 혼자 해보고 있는 중인데요.. 회사에서 VM 서버를 하나 주셨네요 ^^;
CENTER OS 에 넥서스를 설치해서 현재 로컬에 메이븐 프로젝트 생성 후 라이브러리 까지 받아 기존에 있는 소스를 메이븐화
시켰네요..
근데 해보니 의문점이 생겼어요!
자 첫번째 질문 들어갑니다.
첫번째 질문, 넥서스는 라이브러리만 관리가 가능한가요? 그렇다면 소스관리는 SubVersion에서 하는 것인가요?
두번째 질문, 왜 넥서스 인가? 넥서스를 사용하는데 있어서 장점은 무엇이며 단점은 무엇일까요?
꼭 넥서스를 사용해야 할까요?
저만 드는 생각일까요? 저런..궁금해 죽겠네요..^^;;
--
Google 그룹스 'Korea Spring User Group' 그룹에 가입했으므로 본 메일이 전송되었습니다.
이 그룹에 게시하려면 ks...@googlegroups.com(으)로 이메일을 보내세요.
그룹에서 탈퇴하려면 ksug+uns...@googlegroups.com로 이메일을 보내주세요.
더 많은 옵션을 보려면 http://groups.google.com/group/ksug?hl=ko에서 그룹을 방문하세요.
음..라이브러리를 공유 한다.. 현재 꽉찬 개발 3년 차인데요.. 여지껏 프로젝트가 그리크고 단단하지 못해서 그런지 모르겠지만
라이브러리를 공유해야한다는 필요성을 그다지 크게 느끼지 못한게 사실입니다.
최영묵님의 글을 읽었을때는 충분히 이해가 가는 이야기입니다만.. 제가 작은 회사를 다녀서 그런건지 모르겠지만 실질적으로 공감이
가지 않는 이야기입니다.
라이브러리를 공유한다는게 프로젝트에 어느정도 영향력이 미칠까에 대해서 고민해보게 돼네요.
형상관리 서버의 레파지토리와 메이븐레파지토리가 별도로 존재 해야 한다는 소리인데..
그렇다면 프로젝트에 메이븐을 반영하면 비용대비 생산성이 어느정도 높아질까요?
1. 전체 프로젝트 생산성 대비 두개의 레파지토리의 사용에 따른 효율성
2. 메이븐 사용에 대한 개발자들에 대한 교육 비용
3. 소 규모 프로젝트시 라이브러리 공유로 인한 생산성
위 사항을 생각해보면, 메이븐과 넥서스가 프로젝트에 미치는 영향이 어느정도 일지 궁금합니다.
필요에 따라 소 규모 프로젝트에는 들어가지 않아도 상관없다고 생각돼네요.
위에 제가 고민하고 있는 것들은 메이븐과 넥서스에 대한 강의를 좀더 들어봐야 할까요?
질문을 정리 하면 이렇습니다.
1. 메이븐과 넥서스가 프로젝트에 미치는영향력
2. 메이븐과 넥서스의 프로젝트에 미치는영향력에 대해 알아보는 방법
제가 너무 두서없이 말씀드렸네요.. 무지해서 그런것이니 이해 부탁드려요..^^;
On 7월25일, 오후7시31분, Bee kim <yj...@nextree.co.kr> wrote:
> 메이븐은 기본적으로다 자바 프로젝트의 빌드, 테스트, 배포를 자동화 해주는 도구입니다.
>
> 자바 기반의 프로젝트를 빌드,배포하려면 보통 써드파티 라이브러리나 기타 등등의 라이브러리를 필요로 하게 되는데
> 이를 효과적으로 관리할 수 있는 방법이 메이븐 + artifactory나 넥서스같은 메이븐 레포지토리 서버를 사용하는 것입니다.
>
> 메이븐 + 레포지토리 서버를 사용하게 되면 의존하는 라이브러리 관리를 쉽게할 수 있을 뿐만 아니라 자체 제작한 바이너리의 배포 또한
> 편해집니다.
> 메이븐을 통해 내가 만든 바이너리를 deploy하면 자동으로 레포지토리 서버에 전송되고
> 누군가가 내가 만든 라이브러리가 필요할 경우 필요하다고 POM에 선언만 해주면 바로 다운이 받아지기 때문입니다.
>
> 저희 같은 경우에 예전에는 아티팩토리를 사용했었는데 사용성에서 넥서스가 더 나은 것 같아서 요즘은 넥서스를 사용하고 있습니다.
>
> 2011년 7월 25일 오후 7:22, 최영목 <davidc...@nextree.co.kr>님의 말:
>
>
>
>
>
> > 위에서 잘 설명해주셨네요 ^^
>
> > 1. 넥서스는 라이브러리만 관리합니다. 소스에 대한 형상관리는 SCM(ex. subversion)이 합니다.
>
> > 2. 장점은 형상관리로부터 빌드 바이너리를 분리를 하고, 쉽게 빌드 바이너리를 배포하고, 공유하게 해준다는 것입니다.
>
> > 예를 하나 들어보죠.
>
> > A라는 조직에서 '고객'컴포넌트를 개발합니다. B라는 조직에서 '계약'컴포넌트를 개발합니다.
> > 그런데 '계약'컴포넌트는 '고객'컴포넌트를 참조해서 사용합니다.
>
> > 이 때 '계약'컴포넌트의 프로젝트에서 lib(클래스패스)에 '고객'컴포넌트를 넣어서 형상관리를 한다고 가정했을
> > 때 '고객'컴포넌트.jar 파일을 '계약'컴포넌트의 프로젝트에 넣고 commit해야 하는데 누가 해야할까요?
>
> > A조직은 자기네들이 개발하기는 했지만 다른 조직의 형상관리에 넣고 commit할 권리는 없죠.
> > B조직이 한다면 매번 A조직의 최신버전이 올라왔는지 묻고 누군가가 최신버전을 받은 후 공유를 해야겠죠.
>
> > 이러한 불편함때문에 형상관리로부터 빌드 바이너리를 분리시키고, 자동으로 업데이트를 받을 수 있는 메커니즘이 필요한대 이를 해결해 주는
> > 것이 maven입니다.
>
> > 그런데 문제는 maven을 통해서 이런 빌드 바이너리를 공유하려면 별도의 저장소가 필요합니다. 내 로컬에 있는 것을 다른 사람이 가져갈
> > 수도 없고, 그렇다고 maven central과 같은 global repository에
> > 회사의 자신인 '고객'컴포넌트를 배포할 수도 없습니다.
>
> > 그렇기때문에 별도의 회사 또는 프로젝트의 maven repository가 필요한 것이고, 사내 maven repository로 사용할
> > 수 있는 도구 중의 하나가 nexus입니다.
>
> > 단점은... 스터디 비용과 유지보수 비용이 발생한다는 것이죠. 물론 혜택이 더 큽니다 ^^;;;
>
> > 그러므로 maven을 사용하신다면 nexus와 같은 maven repository는 필수입니다.
>
> > 2011년 7월 25일 오후 7:01, Sewon Ann <king...@gmail.com>님의 말:
>
> >> 2011/7/25 양민이뿔났다 <zipd...@naver.com>
>
> >>> 안녕하세요.
>
> >>> 요즘 들어 메이븐과 넥서스 연동에 한참 불을 올리고 있는 개발자입니다.
>
> >>> 뭐 누가 시켜서 하는건 아니고 혼자 해보고 있는 중인데요.. 회사에서 VM 서버를 하나 주셨네요 ^^;
>
> >>> CENTER OS 에 넥서스를 설치해서 현재 로컬에 메이븐 프로젝트 생성 후 라이브러리 까지 받아 기존에 있는 소스를 메이븐화
> >>> 시켰네요..
>
> >>> 근데 해보니 의문점이 생겼어요!
>
> >>> 자 첫번째 질문 들어갑니다.
>
> >>> 첫번째 질문, 넥서스는 라이브러리만 관리가 가능한가요? 그렇다면 소스관리는 SubVersion에서 하는 것인가요?
>
> >> 네, 맞습니다. 넥서스와 소스코드 버전 관리 도구는 역할이 다릅니다.
>
> >>> 두번째 질문, 왜 넥서스 인가? 넥서스를 사용하는데 있어서 장점은 무엇이며 단점은 무엇일까요?
> >>> 꼭 넥서스를 사용해야 할까요?
>
> >> 꼭 사용할 필요는 없지만서도 라이브러리 받는 데 시간이 오래 걸리기 때문에 팀 단위로 작업을 하신다면 넥서스를 운용하시는 게 훨 나을
> >> 겁니다.
> >> 한명만 라이브러리 받아두면 다른 분들은 순식간에 다운 받을 수 있습니다.
>
> >> 또 넥서스를 돌리면 외부 maven repository에 없는 라이브러리도 등록해서 쓸 수 있는 장점이 있습니다. (ex. 사내
> >> common utility 라이브러리 등.)
>
> >> 그래서... 넥서스 꼭 돌리세요 :)
>
> >>> 저만 드는 생각일까요? 저런..궁금해 죽겠네요..^^;;
>
> >>> --
> >>> Google 그룹스 'Korea Spring User Group' 그룹에 가입했으므로 본 메일이 전송되었습니다.
> >>> 이 그룹에 게시하려면 ks...@googlegroups.com(으)로 이메일을 보내세요.
> >>> 그룹에서 탈퇴하려면 ksug+uns...@googlegroups.com로 이메일을 보내주세요.
> >>> 더 많은 옵션을 보려면http://groups.google.com/group/ksug?hl=ko에서 그룹을 방문하세요.
>
> >> --
> >> Google 그룹스 'Korea Spring User Group' 그룹에 가입했으므로 본 메일이 전송되었습니다.
> >> 이 그룹에 게시하려면 ks...@googlegroups.com(으)로 이메일을 보내세요.
> >> 그룹에서 탈퇴하려면 ksug+uns...@googlegroups.com로 이메일을 보내주세요.
> >> 더 많은 옵션을 보려면http://groups.google.com/group/ksug?hl=ko에서 그룹을 방문하세요.
>
> > --
> > Google 그룹스 'Korea Spring User Group' 그룹에 가입했으므로 본 메일이 전송되었습니다.
> > 이 그룹에 게시하려면 ks...@googlegroups.com(으)로 이메일을 보내세요.
> > 그룹에서 탈퇴하려면 ksug+uns...@googlegroups.com로 이메일을 보내주세요.
> > 더 많은 옵션을 보려면http://groups.google.com/group/ksug?hl=ko에서 그룹을 방문하세요.
>
> --
> ---------------------------------------------
> 넥스트리소프트 (주)
> 차장, 개발팀장 / 솔루션사업부 김영진
> 서울시 금천구 가산동 371-28
> 우림라이온스밸리 A동 405호, 153-786
> Tel : 02-2026-4016 Fax : 02-2026-4020
> Mobile : 010-4012-9409
> E-mail : yj...@nextree.co.kr
> http://www.nextree.co.kr
> ---------------------------------------------- 원본 텍스트 숨기기 -
>
> - 원본 텍스트 보기 -
안드로이드 메이븐 플러긴이라는 멋진 프로젝트가 있다구요!
http://code.google.com/p/maven-android-plugin/
제 경우는 개발, 테스트, 출시 버전의 설정 차이 때문에 메이븐을 사용하려고
합니다.
아무리 작은 회사라도 꼭 필요하다고 생각합니다.
어디에든 공통으로 사용되거나 개발되는 모듈은 존재하니까요.
더불어 익스트림하게 사용해보는것도 필요하다고 생각합니다.