nexus 설치와 설정이 끝났으니 개발한 프로젝트를 배포 해보도록 하자.

관점을 두가지로 볼수 있다. 

  • jar 를 배포하는 개발자 
    • setting.xml에 배포 서버 정보( 계정 정보 )를 입력해야한다. 
    • pom.xml에 snapshot, releases 서버 정보를 입력 해야한다. 
  • 배포된 jar를 사용하는 개발자.
    • pom.xml에 maven repository 정보를 입력해야한다. 



1. jar 배포자 

  • setting.xml 수정
 
<servers>
	<server>
		<id>test-release</id>
		<username>testuser</username>
		<password>test</password>
	</server>
	<server>
		<id>test-snapshots</id>
		<username>testuser</username>
		<password>test</password>
	</server>
</servers>


snapshot 과 release repository를 설정 해야하며 id는 각 repository 생성시 적었던 id를 입력 한다. 

그리고 username/password는 앞에서 등록한 사용자 계정을 입력한다. ( repository 권한을 가지고 있는 계정 )


  • pom.xml 수정

    
        test-group      
        test-group  
        http://{your-ip}/nexus/content/groups/test-group/
    

       

    
        test-release     
        test-release 
        http://{your-ip}/nexus/content/repositories/test-release/
    
    
        test-snapshot     
        test snapshot 
        http://{your-ip}/nexus/content/repositories/test-snapshot/
    

  • eclipse 배포
eclipse 에서 배포 Eclipse에서 Window > Preferences > Maven > User Settings를 클릭 하면 다음 과같이 나오는데 여기서 Update Setting을 클릭하여 위에서 추가한 내용이 반영되도록 한다. 



maven 프로젝트를 eclipse에 하나 생성 ( nexus-sample ) 하고 위에 작성한 pom.xml 내용을 반영한다. 

빨간색 박스처럼 version에 "-SNAPSHOT" 이라고 하면 snapshot repository로 배포가 되고 빼면 release repository에 배포가 된다.

snapshot은 같은 버전으로 여러번 배포 가 가능하며 ( 개발시 자주 바뀌므로 사용한다. ) 

release는 같은 버전으로 한번 밖에 배포할수 없다. ( 다시 배포하려면 서버에서 지우고 배포해야한다. )



배포 실행을 다음과 같이 한다.





배포까지 끝나면 nexus에서 배포된 내용을 볼수 있다. 






2. 배포된 jar를 사용하는 개발자.
이제 nexus 권한을 적용해서 프로젝트에서 어떻게 사용해야하는지 보자.

사전 작업이 있는데 
  • setting.xml 에서 <servers></servers> 내용을 삭제한다.
  • .m2\repository\kr\co\jabsiri\nexus-sample folder를 삭제한다. ( eclipse를 닫아야 지워질 것이다. )
  • 배포 프로젝트 ( nexus-sample ) 지우던지 close 시킨다. 

위의 작업이 끝났으면 우선 http://{your-ip}/nexus/content/groups/test-group/ 로 접속 해 보면 다음과 같이 접속이 될 것이다. 


그럼 nexus에 접속해서 User중에 anonymous 를 보면 Role Management에 Repo All Repositoreis (Read) 권한이 있는게 보이는데 즉 누구나 모든 Repository를 볼수 있다는 것이다. anonymous를 Disabled 로 바꾸고 저장한다.


다시 http://{your-ip}/nexus/content/groups/test-group/ 에 접속 해보면 다음과 같이 로그인을 하라고 나온다. 


test-group의 repository는 계정을 알 고 있는 사람만 접근 가능하게 바뀐 것이다.




이 내용을 eclipse에서 해보자 


다시 maven 프로젝트를 하나 eclipse에 생성하고 ( nexus-sample-dependency ) 위에서 deploy한 프로젝트를 dependency에 추가하자


		
  			kr.co.jabsiri
  			nexus-sample
  			0.0.1-SNAPSHOT
		


위의 내용을 pom.xml에 입력하면 프로젝트는 다음과 같이 에러가 날 것 이다. 접근 권한 이 없기 때문이다.




프로젝트의 에러를 없애기 위해 setting.xml에  test-group repository에 접근할 수 있는 계정 정보를 입력하고 

	 
		test-group
		testuser
		test
	



Eclipse에서 Window > Preferences > Maven > User Settings를 클릭한 후 Update Setting을 하고


프로젝트에서 우클릭 > Maven > Update Project... Force Update of Snapshots/Releases 를 선택하고 OK를 클릭하면 


 



프로젝트 에러는 없어지고 아래 이미지 처럼 Maven Dependencies에 jar파일이 추가 된다. 





실제 프로젝트 개발시 Maven Repository 접근 권한을 부여하며 개발 하는 일은 별로 없을 태지만 

코어 개발과 그 코어 개발내용을 이용하겨 개발 하는 경우,

library의 버전 관리등 에서 활용하여 사용 할수 있을 것이다. 




'설치&설정 관련' 카테고리의 다른 글

[DBMS]H2 사용기  (0) 2014.11.14
[DBMS]HSQLDB 사용하기  (0) 2014.11.12
[ nexus ] 3. 배포  (0) 2014.10.01
[ nexus ] 2. 설정  (0) 2014.09.30
[ nexus ] 1. 설치  (0) 2014.09.24
Jenkins 설치  (0) 2014.05.23
Posted by jabsiri
TAG ,

댓글을 달아 주세요