ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [ nexus ] 3. 배포
    설치&설정 관련 2014. 10. 1. 13:43
    728x90



    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의 버전 관리등 에서 활용하여 사용 할수 있을 것이다. 




    728x90

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

    [DBMS]H2 사용기  (0) 2014.11.14
    [DBMS]HSQLDB 사용하기  (0) 2014.11.12
    [ nexus ] 2. 설정  (0) 2014.09.30
    [ nexus ] 1. 설치  (0) 2014.09.24
    Jenkins 설치  (0) 2014.05.23
Designed by Tistory.