슬랙봇으로 개발 생산성 높이기 with Slack RTM API 개발을 하면서 때때로 간단한 프로퍼티를 조회하기 위해 매번 번거로운 DB 접근 절차를 거치게 되는데요. 개발 생산성을 높이기 위해 프로퍼티를 조회하는 절차를 효율적으로 개선해 보자는 생각을 시작으로 공통 코드 조회 슬랙봇(WhatIsThisCode)이 만들어지게 되었고, 이번 글에서는 그 생성 과정을 공유해 드리고자 합니다. 들어가기 슬랙봇을 만드는 방법은 정말 다양했습니다. 그중에서도 저에게는 아래와 같은 조건을 만족하는 방법이 필요했습니다. API를 외부(Slack)에 오픈하지 않고 슬랙봇을 동작시킬 수 있는가? 구현 환경에서 방화벽 이슈가 발생하지 않는가? 슬랙봇이 실시간으로 이벤트를 수신하고 메시지를 보낼 수 있는가? 다행히도 슬랙은..
Spring Batch & Jenkins 구동 방식 개선 현재 실무에서 스프링 배치의 구동 방식이 아래와 같다 Deploy Tool 배치 프로젝트 특정 브랜치의 jar 파일을 배치 서버에 배포 Jenkins Build periodically - Schedule 설정 Execute shell 을 통한 배치 실행 쉘에는 파라미터, 프로파일 설정과 jar 파일로 배치 잡을 실행하는 커멘드가 포함 현상 현재 구동 방식에서는 한 가지(한 가지가 아닐 수도 있지만..) 문제가 있었다. . jar 파일이 배포되는 사이 배치 잡이 실행되거나, 배치 잡이 실행되는 사이 jar 파일이 배포되면 Class 정보를 찾을 수 없다는 예외(java.lang.NoClassDefFoundError, java.lang.ClassNot..