달력

05

« 2012/05 »

  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
2010/11/19 20:07

Hudson User 만들기 테스트자동화환경/Jenkins2010/11/19 20:07

Nexus를 설치할 때([Test/Test Bed] - Nexus 깔끔하게 운영하기(2) - 익명연결 제한)와 마찬가지로 Hudson을 설치한 직후에는 익명접근을 할 경우 모든 권한을 사용할 수 있습니다. 아에 Admin 권한을 사용하고 있는 것이죠. 그래서 관리자 계정을 만들어서 접근제한을 할 생각입니다.

여기서 잠시 살펴볼 문제가 있습니다. Nexus를 통한 Remote Repository의 경우 전사 차원에서 운영할 수 있습니다. 이유는 돌아가는 제품이야말로 회사의 자산이고, 이는 프로젝트별 관리가 아닌 통합 관리가 필요합니다. 또한 이미 빌드된 제품의 바이너리 소스가 올라오기 때문에 java의 특성상 개발환경의 영향도가 적습니다

하지만 Hudson과 같은 CI의 경우는 빌드를 수행하기 때문에 개발환경의 영향을 많이 받으며, 이는 곧 프로젝트별로 따로 관리할 필요성이 있다는 것입니다

따라서 여기서는 프로젝트별로 Hudson을 따로 설치한다는 가정하에 관리자는 모든 권한을 가지고, 익명 접근에서는 빌드상태를 볼 수만 있는 설정을 하도록 하겠습니다.

1. 설치 후 hudson을 web으로 접속하면(http://localhost:8080/) 다음과 같이 모든 기능을 사용할 수 있습니다.

2. 관리자를 만들기 위해서 왼쪽 "Hudson 관리" 메뉴를 클릭하고, 메인화면 가장 위쪽에 있는 "Configure System" 메뉴를 클릭합니다.

3. 위쪽에 있는 "Enable security" 항목을 체크하면 하단 설정이 나오게 되는데 화면과 같이 선택합니다.

4. save를 클릭하면 첫화면으로 이동하게 되고 처음과는 다르게 왼쪽 메뉴가 일부만 보입니다.

5. "가입" 링크를 클릭하면 새로운 계정을 하나 추가할 수 있습니다. 관리자로 사용할 계정을 등록합니다.

6. 등록하면 자동으로 로그인이 되며, 모든 권한을 사용할 수 있는 상태가 되었습니다.

7. "Hudson 관리 > Configure System > Enable security" 항목에서 다음과 같이 설정을 수정합니다.
- Authorization을 "Matrix-based security"로 선택합니다.
- User/group to add: 항목에서 현재 로그인한 계정을 입력하고 Add를 클릭합니다. (주의 : 이 때 엔터로 입력하지 마세요. 바로 저장되어서 관리자 권한이 사라져 다시 설치해야하는 경우가 발생할 수 있습니다.)
- 현재 로그인한 계정에 모든 권한을 부여하고(관리자 권한), Anonymous에는 read 권한만 부여합니다.
- save를 클릭하여 저장합니다.

8. 이제 관리자는 모든 권한을 가지고 있으며, 익명 권한에 대해서는 현재 상태를 볼 수만 있는 상태가 되었습니다.


저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License

'테스트자동화환경 > Jenkins' 카테고리의 다른 글

Hudson User 만들기  (0) 2010/11/19
Hudson 설치하기  (0) 2010/11/19
Posted by 스쿨쥐
2010/11/19 15:25

Hudson 설치하기 테스트자동화환경/Jenkins2010/11/19 15:25

이번 시간에는 테스트 자동화를 해주고, 지속적인 통합을 위한 도구인 CI툴 중 Hudson을 설치해보도록 하겠습니다. 

현재 시스템의 환경은 다음과 같습니다.
OS   : Windows XP Pro Service Pack 3
Java : JDK 1.6.0_14
Maven : 2.2.1
Remote Repository : Nexus 1.8.0

1. hudson 웹페이지(http://hudson-ci.org/)로 접속하여 최신버전을 다운받습니다. 
- 2010년 11월 19일 현재 최신버전은 1.385 버전입니다.
- 2010년 11월 22일 현재 최신버전은 1.386 버전입니다. (한국이 아닌 현지시간으로 11월 19일에 1.386버전이 release 되었습니다.)

2. 다운받은 hudson.war 파일을 hudson을 위한 디렉토리를 만들고 copy합니다.

3. hudson을 위한 환경변수를 입력합니다. (HUDSON_HOME) 변수값은 2번에서 만든 디렉토리 경로로 하면 됩니다.
- 환경변수를 등록하지 않으면 ~/.hudson 디렉토리에 데이터를 저장한다.
ex) C:\Documents and Settings\Administrator\.hudson

4. hudson을 실행합니다.
java -jar hudson.war
옵션에 대한 자세한 설명은 여기를 참조하세요.

추천하는 명령어는 다음과 같습니다.
windows : 
java -jar hudson.war --httpPort=지정할포트(기본8080) > 로그파일명 2>&1
ex) java -jar hudson.war --httpPort=9090 > ./hudson.log 2>&1 unix :
nohup nice java -DHUDSON_HOME=hudson홈디렉토리 -jar hudson.war --httpPort=지정할포트(기본8080) > 로그파일명 2>&1
ex) nohup nice java -DHUDSON_HOME=/home/nextree/app/hudson/data -jar hudson.war --httpPort=9090 
> ./hudson.log 2>&1

참조 : --prefix=/hudson 이렇게 옵션을 주시면 http://localhost:8080/hudson 으로 접근이 가능해집니다.


5. http://localhost:8080/ 로 접속해서 hudson이 실행되었는지 확인합니다.

- 종료하는 법은 다음과 같습니다. 
공통 :
허드슨주소:포트/exit를 통해서 종료가 가능하고, 허드슨주소:포트/restart를 통해서 재시작이 가능합니다.
ex) http://localhost:8080/exit

windows :
실행시킨 콘솔창에서 Ctrl + C를 누르면 됩니다.

unix : 
kill `ps -ef | grep hudson.war | grep -v grep | awk '{ print $2 }'`

이상으로 hudson 설치가 완료되었습니다.


저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License

'테스트자동화환경 > Jenkins' 카테고리의 다른 글

Hudson User 만들기  (0) 2010/11/19
Hudson 설치하기  (0) 2010/11/19
Posted by 스쿨쥐
이전 글([Test/Test Bed] - Nexus User 만들기)에서 프로젝트에 사용할 계정을 만들고, 그 계정으로 로그인하면, 프로젝트의 Public Repositories만 보이도록 했습니다. 하지만 Nexus의 기본 설정에서는 익명연결이 허용되어 있어서 로그인하지 않더라도 모든 Repository를 볼 수 있도록 되어있습니다. 

이를 해결하기 위해서는 2가지 방법이 있습니다.
1. 익명계정에 대해서 부여된 권한을 제거하기
2. 익명연결 허용하지 않기

1번 방법은 조금 번거롭습니다. User 만들때처럼 권한을 보고 제거해주어야 하니까요. 그래서 간편한 2번 방법으로 제한을 하도록 하겠습니다.

현재 상황은 이렇습니다. 로그인을 하지 않더라도 Nexus를 웹으로 접속하면 다음과 같이 모든 Repository가 보입니다.

먼저 관리자로 로그인해서 왼쪽 "Administration" 메뉴의 "Server"를 클릭합니다. 중간쯤 보시면 "Anonymous Access"라는 항목이 있는데 여기 체크된 것을 해제하고 저장하면 끝입니다.

로그아웃 후 다시 Nexus를 웹으로 접속하면 더이상 Repository가 보이지 않습니다. ^^

참 쉽죠? ^^


저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License

'테스트자동화환경 > Nexus' 카테고리의 다른 글

Nexus 깔끔하게 운영하기(2) - 익명연결 제한  (0) 2010/11/19
Nexus 깔끔하게 운영하기(1) - clean up  (0) 2010/11/19
Nexus Deploy를 위한 설정  (0) 2010/11/18
Nexus User 만들기  (0) 2010/11/18
Nexus Repository 만들기  (0) 2010/11/17
Nexus 설치하기  (0) 2010/11/10
Posted by 스쿨쥐
Nexus를 설치하고 계속 운영하다보면 특정 repository를 지우기도 하고, jar파일을 Nexus에서 직접 삭제하기도 합니다. 또한 개발중에 수시로 발생하는 snapshots 버전의 배포된 jar 파일들이 쌓이면서 파일용량이 점점 늘어나고, 성능에 문제를 주는 경우에 이를 수 있습니다.

이를 방지하기 위해서 우리는 2가지 청소 작업을 하도록 하겠습니다.

Nexus의 기능중에는 "Scheduled Tasks"라는 기능이 있습니다. 쉽게 말해 스케쥴링 기능인데요. 여러가지 작업이 있지만 그 중에서 우리가 필요로 하는 청소 기능 2가지를 설정하려고 합니다.

1. snapshot 버전 정리하기


먼저 관리자 계정으로 로그인 한 후 왼쪽 Administration 메뉴의 "Scheduled Tasks" 메뉴를 선택합니다.

다음으로 Add...를 클릭하여 snapshot 버전에 대한 청소를 하는 task를 등록합니다.(그림참조)
snapshot 청소에 대한 task 등록

Add Scheduled Task For Remove Snapshots From Repository


- Task Type : Remove Snapshots From Repository 선택
- 정책에 따라 기본 Snapshots Repository를 선택할 수도 있고, 특정 프로젝트의 snapshots repository를 선택할수도 있습니다. 여기서는 특정 프로젝트의 snapshots repository를 선택하였습니다.
- 보통 1~2일 정도치만 보관하면 되며, release가 되었을 경우 해당 버전의 snapshot 버전은 제거하는 것이 좋습니다.
- 스케쥴은 매일 새벽에 실행되도록 하였습니다.

save를 클릭하면 해당 Task가 등록이 되며, 이제 매일 snapshot 버전의 jar 파일들을 정리할 것입니다.


2. 휴지통 비우기

관리자가 직접 특정 jar파일을 지우거나하면 바로 삭제되는 것이 아니라 휴지통(trash)으로 가게 됩니다. 해당 위치는 바로 /sonatype-work/nexus/trash가 됩니다. 이 디렉토리를 주기적으로 지워주는 task를 등록해보겠습니다.

"Scheduled Tasks" 메뉴에서 Add...를 클릭하여, 새로운 Task를 등록합니다. (그림참조)
휴지통 비우기에 대한 task 등록

Add Scheduled Task For Empty Trash


- Task Type : Empty Trash 선택
- 보통의 경우 일주일에 한번씩 지우며, 여기서는 일요일 새벽에 지우는 것으로 선택하였습니다.

save를 클릭하면 해당 Task가 등록이 되며, 이제 일주일에 한번씩 휴지통을 정리할 것입니다.


저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License

'테스트자동화환경 > Nexus' 카테고리의 다른 글

Nexus 깔끔하게 운영하기(2) - 익명연결 제한  (0) 2010/11/19
Nexus 깔끔하게 운영하기(1) - clean up  (0) 2010/11/19
Nexus Deploy를 위한 설정  (0) 2010/11/18
Nexus User 만들기  (0) 2010/11/18
Nexus Repository 만들기  (0) 2010/11/17
Nexus 설치하기  (0) 2010/11/10
Posted by 스쿨쥐
지금까지 우리는 Remote Repository로 Nexus를 설치를 했고, 프로젝트를 위한 Public Repositories와 User를 만들었습니다. 이제 다음 할일은 이러한 환경을 사용하기 위해서 설정을 변경하는 작업입니다.

설정 변경 절차는 다음과 같습니다.
1. settings.xml 에서 remote repository에 대한 계정정보 및 url을 등록합니다.
2. 최상위 pom.xml에 필요한 plugin을 추가하고, repository에 대한 정보를 등록합니다.
3. mvn clean deploy를 통해 Nexus에 실제로 배포가 되는지 확인합니다.

자 이제 시작해볼까요? 

1. 먼저 settings.xml 파일을 open합니다. 기본적으로 사용자계정/.m2/ 에 위치합니다. (~/.m2/settins.xml)
- settings.xml은 %MAVEN_HOME%/conf 아래에 기본 settings.xml이 있습니다. 복사를 하셔서 사용하시면 됩니다.

2. server를 등록합니다. 일반적으로 snapshot을 위한 server와 release를 위한 server를 따로 등록합니다.
id는 프로젝트의 snapshots repository와 release repository의 id를 적어주시고, 계정정보는 해당 프로젝트의 계정정보를 적어주시면 됩니다.
- 참조글 : 

소스보기


3. profile을 등록합니다. jdk버전, repositories, pluginRepositories 정보를 입력합니다.
- 주의 repository의 id는 반드시 Nexus에 등록된 repository의 id와 동일해야 하며, 이는 추후 수정할 pom.xml의 repository의 id와 일치해야합니다.

소스보기


4. settings.xml에서 마지막으로 할 작업은 활성화할 profile을 등록하는 것입니다. 방금 전 만들었던 profile을 등록합니다.

소스보기


5. 다음은 최상위 pom.xml을 수정할 차례입니다. 먼저 plugin을 설정합니다. 아래에 설명하는 4개의 plugin을 주로 많이 사용합니다.
maven-compiler-plugin : 컴파일을 위한 플러그인(필수)
- maven-source-plugin : 배포시 소스를 포함하기 위한 플러그인(옵션)
- maven-javadoc-plugin : 배포시 javadoc을 포함하기 위한 플러그인(옵션)
- maven-deploy-plugin : 배포에 관련된 설정을 하기 위한 플러그인(옵션)

소스보기


6. pom.xml에 Repository의 정보를 등록합니다. 위에서도 설명했듯이 repository와 snapshotRepository의 id는 반드시 settings.xml의 profile에 등록한 repository의 id와 동일해야 합니다.

소스보기


7. Eclipse에서 배포할 프로젝트를 선택하고 배포를 해봅니다. 
- 콘솔에서의 명령어는 pom.xml이 있는 위치에서 "mvn clean deploy"를 합니다.



8. 배포가 성공적으로 되면 다음과 같이 해당 프로젝트의 Public Repositories에 추가가 된 것을 확인할 수 있습니다.


이로써 Nexus를 이용하여 Remote Repository를 구축하고, 배포(deploy)할 수 있는 환경을 모두 갖추었습니다. 설명에 나와있는 설정파일을 아래에 공유해드립니다.
하지만 이게 끝이 아닙니다. 명품이 되기위해서는 끝 마무리를 잘 해야합니다. 지금까지 한 작업으로 기본 환경은 갖추게 되었지만 계속 운영했을 경우 너무 많은 파일이 Nexus 서버에 보관되게 됩니다. 그렇기때문에 정기적으로 정리해주는 작업이 필요합니다. 

다음에는 정기적으로 개발단계에서 발생하는 snapshot 버전의 jar파일을 정리하는 방법에 대해서 알아보도록 하겠습니다.


저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License

'테스트자동화환경 > Nexus' 카테고리의 다른 글

Nexus 깔끔하게 운영하기(2) - 익명연결 제한  (0) 2010/11/19
Nexus 깔끔하게 운영하기(1) - clean up  (0) 2010/11/19
Nexus Deploy를 위한 설정  (0) 2010/11/18
Nexus User 만들기  (0) 2010/11/18
Nexus Repository 만들기  (0) 2010/11/17
Nexus 설치하기  (0) 2010/11/10
Posted by 스쿨쥐
2010/11/18 13:36

Nexus User 만들기 테스트자동화환경/Nexus2010/11/18 13:36

지난 시간([Test/Test Bed] - Nexus Repository 만들기)에 프로젝트에서 사용할 Repositories를 생성하였기 때문에 이번에는 해당 Public Repositories를 사용할 수 있도록 User를 생성해보도록 하겠습니다.

절차는 다음과 같습니다.
1. 해당 프로젝트에서 사용할 Public Repositories에 대한 Privileges를 만듭니다. (CRUD에 대한 권한)
2. 1번에서 만든 Privileges 권한(CRUD) 및 Repository를 만들때 자동으로 생성되는 view 권한을 합쳐서 해당 프로젝트에 대한 Repository Role을 생성합니다.
3. 2번에서 만든 Role을 가지는 User를 생성합니다.

위에서 설명한 간략한 절차를 바탕으로 실제로 만들어보도록 하겠습니다.

1. 관리자로 로그인 후 왼쪽 Security 메뉴의 Privileges 메뉴를 선택하고, Add...를 클릭하여 새로운 Privilege를 만듭니다.

2. save를 클릭하여 추가하면, 총 4개의 privilege가 추가된 것을 확인할 수 있습니다. (create, read, update, delete)

3. 왼쪽 Secutiry 메뉴에서 Roles 메뉴를 선택하고, Add...를 클릭하여 새로운 Role을 만듭니다.
해당 Role에는 위에서(2번)에서 만든 4개의 privilege와 기존에 있던 프로젝트의 Public Repositories의 view privilege를 추가합니다. view privilege를 추가하지 않으면 나중에 로그인 했을 경우 프로젝트의 Public Repositories가 보이지 않습니다.

4. 왼쪽 Secutiry 메뉴에서 Users 메뉴를 선택하고, Add...를 클릭하여 새로운 User를 만듭니다.
해당 User에는 위에서(3번) 만든 Role과 기본으로 있는 Nexus Deployment Role을 추가합니다.

5. save를 클릭하여 추가하면, 새로운 User를 확인할 수 있습니다. 만약 password를 수정하고 싶으시면 해당 User에 우클릭을 하면 수정할 수 있는 메뉴가 나타납니다.

6. 새로 추가한 User로 로그인을 합니다.

7. 로그인 후 Repositories에 프로젝트의 Public Repositories가 나타나면 완료한 것입니다.

이제 새로운 프로젝트에 대한 Repository 및 User 설정은 끝났습니다. 설정파일(settings.xml, pom.xml)을 수정하고, 실제로 배포하여 확인하는 작업에 대해서는 다음 글을 통해 알아보도록 하겠습니다.

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License

'테스트자동화환경 > Nexus' 카테고리의 다른 글

Nexus 깔끔하게 운영하기(2) - 익명연결 제한  (0) 2010/11/19
Nexus 깔끔하게 운영하기(1) - clean up  (0) 2010/11/19
Nexus Deploy를 위한 설정  (0) 2010/11/18
Nexus User 만들기  (0) 2010/11/18
Nexus Repository 만들기  (0) 2010/11/17
Nexus 설치하기  (0) 2010/11/10
Posted by 스쿨쥐
Nexus를 통해서 Remote Repository를 구축할 경우 정책을 2가지로 나눌 수 있습니다.

1. 각 프로젝트마다 Remote Repository를 따로 구축한다.
2. 전사 차원에서 하나의 Remote Repository를 구축하고, 각 프로젝트별 Public Repositories를 구축한다.

1번의 경우는 Nexus를 설치하고, 기본적인 settings.xml만 해준다면 따로 구축할 필요는 없습니다. 하지만 정책적으로 회사의 제품군을 잘 관리하기 위해서는 제품 소스 관리를 철저히 해야합니다. 당연히 소스에 대한 형상관리(SVN, CVS 등)도 해야하며, 실제 빌드된 바이너리 파일(jar 등)을 잘 관리를 해야합니다.

형상관리가 개발하는 제품에 대한 소스관리라면 Nexus를 통한 바이너리 파일 및 의존성 관리는 실제 돌아가는 제품에 대한 관리라고 할 수 있습니다. 소스만 있고, 빌드가 안되어 돌아가지 않는 제품이라면 회사의 자산으로서의 가치는 떨어질 것입니다.

이번에는 2번째 방법인 각 프로젝트별 Public Repositories를 구축하여, 전사적으로 제품을 관리하기 위한 Repository 만들기를 해보겠습니다.

먼저 Repository의 Type에 대해서 알아보겠습니다. Type에는 크게 4가지가 있습니다.

1. Hosted : 기본 Type으로서 회사 내에서 개발한 jar 파일 또는 회사에서 제품개발을 하기 위해서 구입한 3rd party의 jar 파일을 관리하는 Repository가 이에 속합니다. Nexus에서 기본적으로 제공하는 Hosted Type Repository는 Snapshots(사내 개발용 repository), Releases(사내 제품 repository), 3rd party를 제공합니다.

2. Proxy : Global Repository처럼 외부 Repository에 대해서 proxy 역할을 합니다. maven의 Central Repository는 매우 느리고, 최신 버전이 올라오는 데 굉장히 오래 걸립니다. 그래서 jboss, springsource 등에서 별도의 maven repository를 구축하여 운영하고 있습니다. 이런 경우에 각 개발자들이 해당 maven repository에 대한 설정을 각각 할 수 있기 때문에 Remote Repository를 외부 오픈소스에 대한 Proxy 서버로서의 역할을 수행할 수 있습니다. Nexus에서 기본적으로 제공하는 Proxy Type Repository는 Google Code, java.net, Maven Central이 있습니다. 

3. Virtual : 서로 다른 타입의 Repository에 대해서 adapter 역할을 합니다. 현재 Nexus는 maven1 repository와 maven2 repository에 대한 atapter 역할만 제공하고 있습니다.

4. Group : 여러 개의 Repository를 하나로 묶어주는 역할을 합니다.

그럼 각 프로젝트별로 사용할 수 있는 Repository를 구축해보겠습니다.

1. 해당 프로젝트에서 사용할 snapshot Repository를 하나 만듭니다. type은 hoted로 합니다.
(Default Local Storage Location은 자동으로 입력됩니다. 정책에 따라 Override Local Storage Location은 설정을 추가할 수 있습니다.)

2. 동일한 방법으로 프로젝트에서 사용할 releases Repository를 만듭니다. type은 hoted로 합니다.
(default local storage location은 자동으로 입력됩니다.)

3. 외부에 공개할 Public Repositories를 만듭니다. type은 group으로 합니다.
주의하실 점은 Ordered Group Repositories에 1번과 2번에서 만든 Repository를 추가하고, 기본으로 있는 Snapshot, Releases, Public Repositories는 제외하셔야 합니다.

이것으로 Repository 만들기를 완료하였습니다. 참 쉽죠? ^^ 
다음 시간에는 해당 Public Repositories에 접근하여 사용할 수 있는 계정을 만들어 보겠습니다.

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License

'테스트자동화환경 > Nexus' 카테고리의 다른 글

Nexus 깔끔하게 운영하기(2) - 익명연결 제한  (0) 2010/11/19
Nexus 깔끔하게 운영하기(1) - clean up  (0) 2010/11/19
Nexus Deploy를 위한 설정  (0) 2010/11/18
Nexus User 만들기  (0) 2010/11/18
Nexus Repository 만들기  (0) 2010/11/17
Nexus 설치하기  (0) 2010/11/10
Posted by 스쿨쥐
2010/11/10 16:48

Nexus 설치하기 테스트자동화환경/Nexus2010/11/10 16:48

오늘은 maven repository 중 하나인 Sonatype의 Nexus를 설치해보려고 합니다. 먼저 maven 홈페이지에 접속해보도록 하겠습니다. (http://maven.apache.org/)

예전에는 maven repository는 2개가 소개되어 있었습니다. 바로 ArtifactoryNexus였죠. 초기에는 Artifactory가 많이 쓰였습니다. 하지만 현재는 Nexus쪽으로 대세가 기운듯 합니다. 먼저 artifactory의 가장 큰 단점은 바로 "repository를 file system에서 바로 확인할 수 없다"라는 점이었지요. 내부 DB를 사용하였기 때문에 항상 웹접속을 통해서 jar 파일을 다운받을 수 있었습니다. 하지만 nexus의 경우에는 file system에서 바로 확인할 수 있습니다. 그 외에도 최근에는 여러 maven repository open source가 제공되고 있습니다.

그 중 가장 많이 쓰이는 Nexus에 대해서 설치해봅시다.

현재 시스템 환경은 다음과 같습니다.
OS     : Windows XP Pro Service Pack 3
Java   : JDK 1.6.0_14
Maven : 2.2.1

Nexus의 경우 JDK버전이 최소 5버전 이상이 되어야 합니다.
 

1. Nexus 홈페이지에 접속해서 왼쪽 메뉴에서 "DOWNLOAD NEXUS" 메뉴를 클릭합니다.


2. 최신버전에 대한 Download Site를 클릭합니다. (2010년 11월 10일 현재 1.8.0이 최신버전입니다.)


3. nexus-oss-webapp-1.8.0-bundle.zip 파일을 다운로드 받습니다. 
(linux 환경일 경우 nexus-oss-webapp-1.8.0-bundle.tar.gz 파일을 다운로드 받습니다.)


4. 적당한 곳에 압축을 풉니다. 그러면 크게 2개의 폴더가 생깁니다.
nexus-oss-webapp-1.8.0 : Nexus 프로그램 폴더
sonatype-work : Nexus 작업 폴더(jar를 가지고 있는 repository 포함)


5. "nexus-oss-webapp-1.8.0\bin\jsw\windows-x86-32\nexus.bat"를 실행시킵니다.
- 종료는 콘솔에서 Ctrl + C를 누르시면 됩니다.
- 리눅스의 경우는 nexus start, nexus shutdown 으로 실행과 종료를 시킬 수 있습니다.
(운영체제마다 다릅니다. 자세한 사항은 여기를 참조하세요.)


6. http://localhost:8081/nexus/ 에 접속을 해봅니다. 


7. 로그인을 해봅니다. (초기 계정정보는 admin / admin123 입니다.)


접속이 된다면 설치가 완료되었습니다. 수고하셨습니다. ^^



저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License

'테스트자동화환경 > Nexus' 카테고리의 다른 글

Nexus 깔끔하게 운영하기(2) - 익명연결 제한  (0) 2010/11/19
Nexus 깔끔하게 운영하기(1) - clean up  (0) 2010/11/19
Nexus Deploy를 위한 설정  (0) 2010/11/18
Nexus User 만들기  (0) 2010/11/18
Nexus Repository 만들기  (0) 2010/11/17
Nexus 설치하기  (0) 2010/11/10
Posted by 스쿨쥐
먼저 저만의 버전관리 룰(rule)임을 미리 밝혀드립니다. 다음과 같은 환경을 가정하고 진행합니다.

  1. 애자일 방법을 사용하여 개발하며, 반복이 진행될 때마다 기능이 추가된다.
  2. 컴포넌트별 버전을 따로 관리하지 않고 전체 프로젝트 내에서 항상 동일한 버전으로 관리한다. 예를 들어, 변경사항이 없더라도 릴리즈시 버전이 변경된다. 이유는 버전관리의 복잡성을 낮추기 위해서이다.

원래 버전은 다음과 같이 부여됩니다.

5.3.12 beta3(build 813)

여기서 제일 앞 부분 "5"는 Major버전입니다.(주버전) 큰 기능 변경이나 구조 변경 등이 포함 될 경우 수정하게 됩니다. 

두 번째 나오는 "3"은 Minor 버전입니다.(부버전) 작은 기능의 추가, 삭제, 변경 등이 있을 경우 수정하게 됩니다. 

세 번째 나오는 "12"는 patch 레벨입니다. 기존 버전의 버그 수정을 했을 때 변경합니다. 

네 번째 나오는 "beta3"는 상태 문자열입니다. 현재 버전이 판매 버전인지, 테스트 용도인지, 개발 용도인지 나타냅니다. 

마지막으로 빌드번호는 버전과는 별도로 빌드를 진행함에 따라서 번호가 올라가게 됩니다.


보통 maven 프로젝트를 이용하게 되면 다음과 같은 버전 구조를 사용합니다. 

개발버전 : 1.4.2-SNAPSHOT
릴리즈버전 : 1.4.2

이러한 정책으로 버전관리를 하게되고 실제 제품 또는 외부에 배포를 하게 되었을 때 추후 개발이나 유지보수는 다음과 같이 할 수 있습니다. 


아주 간단하면서도 쉽게 개발할 수 있는 모델이라고 생각합니다. 주버전의 경우는 개발 후 회사 정책에 결부되어서 바뀔수도 있는 부분이라고 생각됩니다. 아직 검증되지 않은 것은 svn branch를 통해서 별도의 버전관리가 되는지는 아직 확인해보지 못했습니다. 그게 불가능하다면 다시 버전관리를 생각해봐야겠네요 ㅠㅠ

추가사항 : maven-release-plugin의 goal중에 release:branch가 있었습니다. 이를 이용하면 branch의 별도 버전관리가 가능하겠네요.
저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License

'테스트자동화환경 > 버전관리' 카테고리의 다른 글

Maven 프로젝트 진행시 버전관리  (2) 2009/12/16
Posted by 스쿨쥐