Etc/Tool

반응형
log scrollback buffer size 늘리기

secureCRT로 로그를 확인할 경우 buffer size가 부족해서 로그에 상단이 짤리는 경우가 있는데 이럴 경우 scrollback buffer size를 늘려주면 최초에 찍힌 log도 확인 할 수 있다.

Option > Session Option > Terminal > Emulation > Scrollback buffer size 32000

사이즈 입력~!

 

 

반응형
반응형

형상관리를 하는 이유는 혼자 개발하든 몇 백명이 같이 개발하던 자기가 고친 소스에 대한 이력의 중요성을 알기 때문이다. 갑자기 누가 내 소스를 수정하거나 지워져서 프로젝트에서 에러가 빵빵 터지기라도 하면.. 내가 안그랬다고 해도.. 이건 뭐 니가 고쳐놓고 잊어버린 거 아니냐라는 괜한 오해를 살지도 모르고 정말로 내가 고쳤었나 하는 자아 혼란(?)의 문제점이 있다. 결론은 모냐면 형상관리를 해야 한다는 것이고, 형상관리 서버에 집결된 소스는 모두 누군가가 다 수정하고 추가하고 삭제했었던 총체적 결과물이기에 자신의 소스를 보호해야할 권리가 있고 그 이력으로 자신이 했는지 안했는지 알 수 있다. 사실 내가 뭐했지는지 일주일만 지나면 까먹기도하니.. 형상관리는 더욱이 개발자에겐 필수적이다.

 

이클립스에서 SVN(subversion)서버로 프로젝트 추가를 해보자. 기존에 형상관리 되고 있는 프로젝트를 update 받는 게 아니라 최초 신규 프로젝트를 만들고 형상관리 서버에 처음 등록할 때 하는 일임을 명심한다.

 

 

1. 프로젝트를 신규 생성하고 몇개 소스 파일을 만들어 놓은, 형상관리 서버 어디에도 연결해놓지 않은 프로젝트가 하나 있다. 프로젝트명에서 우클릭해서 [Team]-[Share Project] 를 클릭하자. 

 

 

 

 

 

2. 난 SVN 서버를 사용중이므로 SVN 클릭후 Next. 

 

 

 

 

 

 

3. 기존 레파지토리(repository)를 사용할 꺼면 "Use existing repository location"을 클릭해서 Next. 나처럼 레파지토리를 따로 설정했다면 밑의 리스트에 없으므로 첫번째 "Create a new repository location" 을 선택후 Next.

 

 

 

 

 

 

4. 새로 만든 레파지토리 url 을 입력한 후 계정 아이디와 비밀번호 입력후 Next.

 

 

 

 

 

 

5. 그냥 난 Simple mode 로 했다.

 

 

 

 

 

 

6. 최초 프로젝트를 커밋할 때 커멘트를 쓰는 곳이다. 그냥 나두고 Finish.

 

 

 

 

 

 

7. 이젠 소스들을 commit 해서 형상관리 서버에 등록하는 것이다. 간단히 커멘트 달고 ok.

 

 

 

 

 

 

 

 

8. 프로젝트를 보니 옆에 SVN 서버에 연결된 url 정보를 볼 수 있다.

반응형
반응형

Sonatype Nexus 를 설치 후 몇가지 설정을 해줘야 된다.
관리자로 로그인 한 다음 왼쪽 메뉴중에 Repositories 를 클릭하면 디폴트로 등록된 리파지토리들 목록이 나온다.
먼저 목록중에 Public Repositoires 를 클릭하면 아래쪽에 상세내용이 나오는데 Configuration 탭으로 이동한다.

 

Ordered Group Repositories 에 디폴트로 여러개가 등록도 있을껀데 일단 Maven Central 만 남기고 다 빼버리자, 나중에 원하는걸 필요할때마다 맨들어서 추가해 주면 된다.

요부분에서도 그동안의 고정관념 때문에 살짝 삽질을 했는데, 나의 고정관념 상으로는 죠렇게 박스 두개가 있으면 오른쪽 박스가 당연히 선택할 대상들이 들어가는 박스라고 생각해서 아무리 설정을 해도 안되는 것이였다 -_-;

외국 사람들은 반대로 생각하나 보다 -_-;  아무튼 결론적으로 하나로 묶어줄 애들은 왼쪽 Ordered Group Repositories 에다 추가시켜주면 된다 -_-

죠렇게 해 준다음에 아래쪽에 Save 버튼을 눌러 저장을 해준다.

고 다음으로 설정할 것은 리파지토리 목록중에 Maven Central 을 설정하는 것이다. 역시 클릭하면 아래쪽에 상세화면이 나오는데 Configuration 탭으로 이동하자.

 

 


여기서 할일은 Download Remote Indexes 가 디폴트로 False 로 되 있을건데 고걸 True 로 바꿔준다음 Save!

Download Remote Indexes 가 True 로 되있으면, Remote Storage Location 으로 설정된 http://repo1.maven.org/maven2 에 접속해서 인덱스 파일을 받아와서 고 인덱스 파일이랑 똑같이 나의 서버에 인덱스를 맨들어 준다.

Save 를 하면 인덱스파일을 다운로드 받아 인덱스를 업데이트 하는 작업이 시작된다. 이 작업이 완료되면 리프레쉬를 한다음에, 상단의 탭중Browse Index 탭을 클릭해보면 전에 하나도 안보이던 목록들이 쪽 생성이 되 있을 것이다.



인덱싱하는 작업이 쪼매 오래 걸리는데 작업이 완료 됬는지 계속 작업중인지 볼려면 왼쪽 메뉴중 Administration > Scheduled Tasks 를 클릭해 보면 알수 있다.

 

 


이 메뉴는 현재 Nexus 에서 돌아가고 있는 Task 를 보거나 아니면 원하는 Task를 스캐쥴링 하도록 등록하는 메뉴인것 같다.

아무튼 Task 목록을 보면 Maven Central 리파지토리의 인덱스를 다운로드 받아서 인덱싱을 하는 작업이 진행중인것을 볼수 있다.

작업이 완료되면 목록에서 사라지는데, 상단의 리프레쉬 버튼을 클릭하다 보면 언젠가는 사라질 것이다. -_-;



인덱싱 작업이 완료되면 이제부터 정상적인 사설 리파지토리 기능을 수행할 수 있다.!!




인덱싱된 결과를 볼려면 Pubic Repositories 를 클릭한다음 Browse Index 탭을 클릭해 보자.

 

 


인덱싱을 하기전에는 안보이던 여러가지 목록들이 간지나게 쫙 펼쳐져 있다.

※ Browse Index 탭에 보여지는 것들은 내가 맨든 사설리파지토리로 제공가능한 디펜던시들이지 아직 나의 서버로 다운로드가 된 상태는 아니다.
※ 나의 서버로 누군가가 디펜던시를 요청하면 일단 최초로 proxy 대상 리파지토리에서 해당 디펜던시를 다운로드 받아 이후 요청부터 캐싱을 하게 된다
※  현재 다운로드 받아 캐싱하고 있는 디펜던시들을 볼려면 Browse Storage 탭을 클릭해 보면 된다.





여기까지만 하면 일단 설정을 대충 다 끝났고 maven 에서 나의 서버를 바라보게 설정만 해주면 된다.

위 스크린샷에서 보면 리파지토리 목록 왼 오른쪽에 있는 Repository Path를 요렇게 pom.xml 파일의 repository 로 설정해 주거나 바꿔주면 된다.

많은 현재 디폴트로 등록된 리파지토리들이 많이 있지만 이중에서 다른 리파지토리들을 하나로 묶어주는 group 타입의 public 리파지토리를 메이븐에서 바라보도록 설정하자~

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<repositories>
    <repository>
        <id>central</id>
        <releases><enabled>true</enabled></releases>
        <snapshots><enabled>true</enabled></snapshots>
    </repository>
</repositories>
 
<pluginRepositories>
    <pluginRepository>
        <id>central</id>
        <releases><enabled>true</enabled></releases>
        <snapshots><enabled>true</enabled></snapshots>
    </pluginRepository>
</pluginRepositories>



Nexus 설명서를 보면 maven 의 settings.xml 파일인가 고걸 수정하게 하던데 그러면 다른 개발자들도 settings.xml 을 귀찮게 수정해야 하기 때문에 나는 svn으로 공유되는 pom.xml 파일을 수정했다.


아무튼 요렇게 한 후 나의 서버가 잘 돌아가나 테스트를 해보기 위해 pom.xml 파일에 디펜던시를 아무거나 하나 추가해 보자.

1
2
3
4
5
<dependency>
    <groupId>abbot</groupId>
    <artifactId>abbot</artifactId>
    <version>0.12.3</version>
</dependency>




음~ 잘되는 것 같다. 확실히 확인하기 위해서 위에서 설명했던 현재 캐싱된 디펜던시들을 보여주는 Browse Storage 탭을 클릭해 보면 pom.xml 파일에 추가했던 abbot 뭐시기가 캐싱된 것을 확인할 수 있다.

 

 



지금까지 한 설정은 딸랑 maven central 리파지토리만 바라보도록 설정했는데, 필요에 따라 다른 외부 리파지토리를 proxy 타입으로 추가 시킨다음

하나로 묶어주는 기능을 하는 group 타입의 Public Repositories 에다 포함 시켜주고 maven 에서는 이 public 리파지토리만 바라보도록 하면

pom.xml 파일에 추가적으로 <repository/> 를 추가할 필요도 없고 한번 캐싱된건 나의 서버에서 빠르게 다운로드 받을 수 있을 것이다.

 

http://stove99.tistory.com 퍼옴.

반응형

[eclipse] JRebel HotSwap 설정

2013. 12. 17. 14:15
반응형
  • JRebel HotSwap 설정 방법

Web Application개발을 하다 보면 가장 귀찮은 점이 바로 테스트를 하면서 개발을 할 때, Java를 고치고 난 후에 Class를 컨테이너에 적용 시키기 위해서 웹서버를 내렸다가(서버를 정시시키는 것) 다시 올리는 것(서버를 가동시키는 것)이라고 할 수 있습니다.

조그마한 실수 하나에도, 또는 이게 맞는지 저게 맞는지 확신이 서지 않아서 테스트 할 때 이와 같은 서버를 재부팅하는 것은 많은 시간적 소모를 가지고 올 수 있는데, 이런 귀찮은 부분을 수정한 것이 바로 HotSwap기능이라 할 수 있습니다.

HotSwap기능이라는 것이 사실은 컴퓨터의 하드웨어적인 기능이지만 여기서 말하는 HotSwap이란 JAVA에서 말하는 Class로드 부분인 것 같다는 생각이 듭니다. 어쨌든 HotSwap기능이 있는 JRebel을 공짜로 한 번 써봅시다!!!!

 

Step 1 등록하기!!!!

우선 아래 링크로 접속을 합니다.

http://social.jrebel.com

그러면 아래와 같은 웹페이지가 나타나죠

Social JRebel 첫화면

Social JRebel 첫화면

참고! : Social JRebel은 말그대로 SNS 계정이 필요로 하는 JRebel입니다. 자세히는 않읽어 봤지만, 대략 읽어 보니 Social Network를 이용해서 홍보를 하는 것이며, 한달에 한 번 정도 자신의 SNS계정을 통해서 홍보성글을 올리는 걸로 봤습니다. 어쨌든 그래서 공짜인듯 해요. 아! 그리고 또 하나 주의 점은 non-commercial 용도라는 것입니다.

 

위에 밑줄 그은 부분(그림에서)을 클릭합니다. 그러면 다음 화면이 나타납니다.(Facebook을 하고 있다는 가정에서 하는 것입니다. Twitter 계정으로 하시는 분은 조금 다를 수 있습니다.)

1. Facebook 화면

Social JRebel 등록하기(Facebook)

Social JRebel 등록하기(Facebook)

2.Twitter계정으로 할 때의 화면

 

Social JRebel 등록하기(Twitter)

Social JRebel 등록하기(Twitter)

 

 

Facebook화면은 제 Web Browser가 이미 Facebook에 로그인이 되어있어서 바로 허가 화면이 뜬것입니다. 만약 Facebook에 로그인이 되어있지 않다면 로그인해야 할 것이고, 만약 계정이 (Twitter 계정역시) 없다면 계정을 만들어야 할 것입니다.

 

 

Social JRebel 등록화면

Social JRebel 등록화면

이제 트위터에 로그인 헀다거나, Facebook에 Social JRebel이 사용자의 계정을 가지고 광고를 해도 된다고 수락하고나면, 위와 같은 화면이 나타납니다. 뭐 기본적인 Profile을 적는 것이죠. 작성을 다 하셨다면.....아래 그림을 참고 합니다.

 

Social JRebel 등록화면

Social JRebel 등록화면

자신이 사용하는 언어와, Container(그러니까 일반적으로 웹 어플리케이션 서버)를 선택하고, 사용계정에대한 Agreement를 동의하고 JRebel을 다운받았는지 않받았는지를 선택하고 나서 "Register"(등록)을 클릭합니다.

그러면 아래와 같은 화면이 나타납니다.

등록이 완료된 화면

등록이 완료된 화면

 

여기서 Next를 누르면 라이센스키 화면으로 넘어가게 됩니다.(아래그림)

 

Social JRebel Keycode

Social JRebel Keycode

 

Step 2 Eclipse에 JRebel Plugin 설치하고 License Key Code입력하기

 

 

Eclipse 에서 JRebel 설치

Eclipse 에서 JRebel 설치

 

Eclipse에 Help>Marketplace에 가면 일반적으로 가장 먼저 보이는 것이 JRebel일 것입니다. 않보이면 JRebel을 조회해서 설치를 합니다.

Plugin 설치가 끝나고 나면 위와 같이  Eclipse메뉴에서 Window>Preferences에 가면 설정화면이 보입니다. 항목중에 JRebel이라는 항목을 클릭합니다.

JRebel plugin for Eclipse 설치 후 설정

JRebel plugin for Eclipse 설치 후 설정

 

그러면 위와 같은 설정화면이 보이는데 여기에서 "Configuration Wizard"를 클릭하시면 아래와 같은 Popup창이 하나 뜨게 됩니다.

 

JRebel plugin for Eclipse 설치 후 Configure화면

JRebel plugin for Eclipse 설치 후 Configure화면

 

팝업창이 뜨면 조금 느려 질 것입니다. 제 컴퓨터 스펙이 그닥 딸리는 편은 아닙니다. i-5코어 2.5Ghz에 RAM 8G인데도 버벅거렸으니까요;;;; 아마 대부분 느려지실 겁니다. 하지만 인내를 가지고 하시다보면 금방 끝나고, 끝이나면 괜찮아지니까요.....포기하지 마세용!!! ㅋㅋ

어쨌든 위와 같이 라디오 버튼 항목중에 "I want to use JRebel Social(FREE for non-commercial user)"라는 항목을 선택하고 하단에 "Next" Botton을 클릭합니다. 그러면 아래의 화면이 보입니다.

JRebel Configure에서 Keycode입력하기

JRebel Configure에서 Keycode입력하기

 

위에 말풍선에 표시했듯이 아까 Social Jrebel등록후에 나온 Key Code를 공간에 붙여 넣기 하고 "Next"를 누룹니다.

그리고 끝까지 가서 Finish를 누르면 일단 License Key Code등록은 끝이 났습니다.

 

마지막으로 Preferences창에 JRebel에서 아까는 Configuration Wizard를 선택했다면, 이번에는 그 바로 아랫줄에 있는 "Agent Settings"을 선택하고 아래와 같이 Project의 Root위치를 설정해 줍니다.(사실 이거 왜하는지 모르겠어요 안들어가 있어도 잘되던데;;;;;)

JRebel Agent Setting화면

JRebel Agent Setting화면

 

Step 3 Project에 설정하기!!!

자 이제 프로젝트에 설정을 해야 하는데요, Configuration Wizard에 설명은 아래 그림과 같이 나와있습니다. 그런데 저는 Eclipse Indigo를 쓰고 있는데 창이 이런 식으로는 안뜨더군요.....(다른 버전에서는 아래와 같이 뜰 수도 있지만 저는 조금 다르게 뜹니다.)

Eclipse Project에 JRebel 설정하기

Eclipse Project에 JRebel 설정하기

 

바로 아래와 같이 조금 다르게 뜨는데요. 화면은 아래와 같습니다. 

 

Eclipse Project에 JRebel 설정하기

Eclipse Project에 JRebel 설정하기

 

일반적으로 Project의 Source폴더가 src로 지정 되어있다면 위에 빨간줄 친것 처럼 "Generate rebel.xml in src"를 클릭하면 되지만 만약 Source폴더가 다를 경우에는 바로 위의 메뉴인 "Generate rebel.xml"을 눌러 Source폴더가 어디인지 지정해 줍니다.

주의! Source폴더는 *.java가 모여있는 Project내의 최상위 폴더를 이야기 합니다.

 

자 rebel.xml을 Generate했다면 이제 마지막으로 Eclipse에서 돌아가는 Tomcat서버의 설정만 하면 됩니다. 아래의 빨간줄 그은 부분들로 체크하고 저장하면 됩니다(물론 Tomcat Server는 중지시켜 놓구요)

 

JRebel을 위해서 Tomcat서버 설정하기

JRebel을 위해서 Tomcat서버 설정하기

 

이제 모든 것이 끝났습니다.

이제는 *.java파일을 아무리 고쳐도 Tomcat서버를 멈췄다가 재가동해야 하는 부분은 문명히 필요 없게 되었습니다.

 

*한가지 아쉬운점

JRebel은 다 좋은데 한가지 아쉬운 점은 바로 xml로드는 지원하지 않는다는 것입니다.

저의 경우 Struts에 iBatis를 쓰고 있는데, iBatis에서 정의해 놓은 SQL문들이 있는 XML을 아무리 바꿔도, HotSwap기능과는 거리가 있는 것 같더군요;;;;; 뭐 그부분을 빼면 나쁘진 않은 것 같습니다......^^잘 사용하세요!!!

 

 

 

 

 

반응형

[maven] maven + jenkins 연동

2013. 7. 19. 22:49
반응형

※ 본 세팅의 환경은 Win7 64Bit 입니다.

재시작 java -jar jenkins.war --ajp13Port=-1 --httpPort=8082 

1. Jenkins 설치

http://jenkins-ci.org/ 이동

Tomcat 서버를 구축한 사용자라면 war 파일로 된 Java Web Archive 를 다운 받으시고

처음 설치하시는 유저분들이라면 Native Package 를 설치하시기 바랍니다.

다운 받은 파일을 특정 폴더로 복사 한 후 cmd를 열고 war파일이 위치한 루트로 이동 후 

java -jar jenkins.war --ajp13Port=-1 --httpPort=8082 

 

 

2. 시스템 설정

-http://localhost:8082 로 이동

-설치 가능 탭 이동

-ssh 관련 플러그인 설치 후 jenkins 재부팅  

4. jdk 설정.

아래와 같이 Jenkins 관리 > 시스템설정으로 가시면

image

 

아래와 같이 JDK 설정하십시요

image

 

JDK 는 Jenkins 서버 내의 JDK Path 를 설정해주시면 되고

5. 새로운 Job 생성

- Job 이름을 짓고

아래와 같이 설정해주시면 됩니다.

새잡

6. 새로운 Job 설정

우선은 SVN 부터 설정을 하자

아래에서 설정으로 가겠습니다.

image

그러면 아래와 같이 많은 설정 중에 SVN 을 보도록 하겠습니다

image

위와 같이 SVN 으로 설정하시고 Check-out Strategy[Always check out a fresh copy] 로 설정하도록 하겠습니다

 

7. Ant 빌드 세팅하기

그럼 빌드에 앞서서 Ant 빌드를 하도록 하겠습니다.

Jenkins 는 이클립스로 빌드를 하는 것이 아니기 때문에 구글에서 제공해주는 Ant Build 툴을 사용하여야 합니다.

우선 커맨드창을 켜신 다음 ${WorkSapce}\${Project} 로 이동하시기 바랍니다.

※ Android SDK\tools 폴더가 시스템 변수로 선언되어 있어야 합니다.

커맨드 상에서 [android –help] 를 실행하시면 다양한 도움말이 나오는데

Ant 빌드용 Build.xml 을 생성하기 위해 아래와 같이 작성을 할 것입니다.

[android update project -p . -n first_project]

image

 

위와 같이 3개의 파일이 새로 생성 됩니다.

 

8. 자 이제 위의 자료를 SVN 에 커밋하시면 모든 준비가 완료되었습니다.

다시 Jenkins 프로젝트 관리 페이지로 돌아오겠습니다.

image

 

위와 같이 프로젝트 설정을 해주신 다음에

9.

[Build Now]

를 시작합니다.

각 빌드별로 콘솔 화면을 볼 수 있으니 아래와 같은 출력을 확인 할 수 있습니다.

image

위와 같이 이동하시면 아래 화면을 보실 수 있습니다.

image

위와 같이 BUILD SUCCESSFUL 을 보셨다면 빌드 성공!

 

반응형

+ Recent posts

반응형