티스토리 뷰

프로젝트에서는 보통 서버에 들어가서 작업을 할수 있는 사람과 서버에 대한 접근권한이 없는 개발자들이 있다. 개발자들이 개발서버에 어플리케이션을 올렸을때 로그를 확인하고 싶어하는 경우가 있다. 그럴때 매번 서버에 접근가능한 사람이 들어가서 직접 확인시켜주는것보다는 개발자가 서버에 들어가지 않고 Jenkins를 통해서 로그를 볼수 있게 해주면 된다. 방법은 다음과 같다. 

 

설정방법

 

Jenkins > Plugin Manager

 

 

Build Timeout 이라는 plugin을 설치한다. 이건 Optional 한 부분이지만 그래도 미연의 사고를 방지하고자 일단은 설치!

 

설치가 다 되었으면 새로운 Job을 하나 만든다. FreeStyle Job으로 생성한다. 

 

 

Jenkins Tail Log 설정

 

밑으로 내리다 보면 plugin이 설치가 잘 되었으면 위와 같이 Run with timeout 이라는 Build 메뉴가 생길것이고 이것을 클릭한다. timeout 시간은 10분으로 잡아줬다. 이 빌드가 실행이 되고 10분이 지나면 강제로 Abort 상태로 빌드를 종료하겠다는 뜻이다. 개발자가 Jenkins에 접근해서 이 빌드를 실행시키고 깜빡 잊고 종료하지 않는다면 Jenkins에 계속 이 Job이 떠있게 되는 것을 방지하기 위함이다. 

 

그리고 그 안의 Build Step으로는 Execute shell script on remote host using ssh를 선택했다. Send build artifacts over SSH의 Exec Command를 사용할 수도 있다. 이것들은 원격 서버에 명령을 내릴 수 있는 설정이다. (이것들을 사용하기 위해서는 사전에 SSH 관련 플러그인과 설정이 들어가 있어야 한다.) 여기에서 설정해 놓은 SSH site를 선택하고 Command를 다음과 같이 입력해준다. 

tail -5000f /application로그 경로/logfile.log

리눅스에서 자주 쓰는 tail 명령어이다. -5000f 옵션은 밑에서 5000줄 출력을 하고 그 이후부터는 실시간으로 출력을 하라는 뜻이다. 상황에 맞게 변경해서 사용을 하면 된다. 이 tail 명령어때문에 위의 Run with timeout 을 사용을 한 것이다. 다 되었으면 저장을 누르고 Job 설정을 빠져나간다. 

 

사용방법

설정방법도 간단했지만 사용방법은 더 간단하다. 방금 만든 Job을 실행(build) 해준다. 

 

 

 

 

Build Now를 눌러서 실행을 시켜주면 아래의 Build History에 반짝반짝 거리는 동그라미를 발견할수 있을것이다. 이것을 눌러주면 Console log를 볼수 있다. Console log를 보는 상태에서 application을 동작시켜보면 그에 대한 로그가 실시간으로 Jenkins Console에 출력이 되는것을 확인할 수 있을것이다. 

 

 

 

이렇듯 Job이 끝나지 않고 계속 실시간으로 출력이 되는것을 확인할 수 있다. 

 

끝!

댓글
최근에 올라온 글
최근에 달린 댓글
«   2024/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