지난번에 "Jenkins에서 Build FAILURE 시 특정 위치에 로그남기기"를 하며 거기에서 사용된 Shell Script가 있다. Jenkins에서 Build FAILURE 시 특정 위치에 로그 남기기 Jenkins에서 빌드를 하던지 배치를 돌리던지 할때 오류가 발생을 할 수 있다. 이때 오류에 대해서 즉각 noti를 받고 싶은 경우라면 일반적으로는 Jenkins와 연동이 되는 email noti를 받던지 slack을 통해� oingdaddy.tistory.com 여기에 나온 Shell Script 는 다음과 같다. #! /bin/bash jobstatus=$(cat /app/cqm/mbr/ci/log/jenkins.log | tail -1 | cut -f 3 -d':') if [ "${jobst..

springboot를 기동을 시작하면 제일 먼저 다음 문구가 나오는것을 확인할 수 있다. . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v1.4.2.RELEASE) [12:24:20.819][INFO ][sample.Application.logStarting:line48] - Starting Application 이런것을 banner(배..

Jenkins에서 빌드를 하던지 배치를 돌리던지 할때 오류가 발생을 할 수 있다. 이때 오류에 대해서 즉각 noti를 받고 싶은 경우라면 일반적으로는 Jenkins와 연동이 되는 email noti를 받던지 slack을 통해서 noti를 받을 수 있다. 하지만 이렇게 하지 못하는 상황도 있을수 있다. 폴스타(polestar) 라는 솔루션을 사용해서 error에 대한 noti를 받고 싶다는 요구사항이 있었다. 폴스타는 여러가지 기능이 있지만 특정 경로에 특정 파일이 생성되면 그걸 인지하고 알려주는 기능도 있어서 Jenkins에서 오류가 발생하면 특정 위치에 오류 내용을 담은 로그파일을 생성해 주기로 하였다. 가장 먼저 할일은 Jenkins에서 job을 돌리다가 오류가 난걸 캐치해 내는것이다. Jenkins..
자주 쓰이는 String prototype 에 대한 정리 (긁어모으기!) /** * 문자열 replaceAll */ String.prototype.replaceAll = function (target, replacement) { return this.split(target).join(replacement); }; /** * trim (공백 제거) */ String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ""); }; /** * ltrim */ String.prototype.ltrim = function() { return this.replace(/^\s+/, ""); }; /** * rtrim */ String.prototype...

웹어플리케이션을 개발하면 거의 필수적으로 하는 것이 바로 클라이언트 IP를 획득하는 것이다. 왜냐? 누가 뭘 하는지 알아야 문제가 생겼을때 대처가 가능하기 때문이다. 어떻게 IP를 얻어올수 있는가? public static String getClientIp(HttpServletRequest req) { String ip = req.getHeader("X-Forwarded-For"); if (ip == null) { ip = req.getRemoteAddr(); } return ip; } 이렇게 간단하게 IP 정보를 획득할 수 있다. 그냥 req.getRemoteAddr() 을 통해서 가져올수도 있지만 내 웹서버를 통해서 들어오는 경우면 클라이언트 IP를 가져오는게 아닌 웹서버의 IP를 가져오기 때문에 클..

자바로 코딩을 할때 반복적으로 또는 기계적으로 작업을 해야 하는 몇몇 경우가 있다. 예를들면 model 클래스를 작성할때 멤버변수를 정의하고 그에 따른 getter, setter 등을 만든다거나 로그를 사용할 클래스에서 매번 로그를 정의해 줘야 하는 이런 반복적인 일들. 이런 불편함을 조금이나마 해소해주는 녀석이 있다. 바로 lombok 이라는 녀석이다. lombok의 여러가지 기능이 있지만 지금은 lombok을 사용하여 매번 로그 객체를 만들던 수고를 덜어보는걸 해보도록 하겠다. 우리가 일반적으로 로그를 찍기 위해서 했던 행동들을 일단 보자. private static final Logger LOG = LoggerFactory.getLogger(Sample.class); slf4j를 통해 로깅을 하는데..

이번에 소개할 내용은 소스를 빌드하여 nexus에 배포를 하고 그 배포된 파일 목록을 Jenkins에서 가져와 원하는 파일로 was에 배포를 하는 것이다. 이게 뭐하는 일인가 싶을수도 있지만 was에 배포한 파일이 잘못되어서 긴급하게 예전 버전으로 복원을 하고 싶을때 아주 유용하게 사용할 수 있다. 일단은 빌드를 할때 nexus에 배포를 하는 부분을 pom.xml에 추가를 해야 한다. pom.xml sample-repository-snapshot Public Repository http://repo.sample.co.kr:9090/repository/maven-releases/ sample-repository Public Repository(snapshot) http://repo.sample.co.kr:..

이클립스로 개발환경을 새로 구성을 할때 기존의 소스를 import 를 시키고 JSP나 Html, CSS 파일 등을 열어보았을때 인코딩이 깨지는 경우가 있다. 이런식으로 인코딩이 깨지는데 해결방법은 두가지가 있다. 첫번째는 파일 우클릭 > Prpperties 에서 그 파일의 인코딩만 바꿔주는 경우이다. 위와 같이 바꿔주면 된다. 하지만 JSP 파일을 열때마다 바꿔줘야 하니 너무너무 불편하다. 특정 파일이 아니라면 패스! 두번째는 Windows > Preferences > General > Content Type > Text 이곳에서 Default encoding 부분이 ISO-8859-1 로 되어있는걸 UTF-8 로 교체를 하고 Update를 해준다. 그리고 Apply and Close 클릭하면 된다. 안..