본문 바로가기

Ruby

[Ruby] 로 jenkins & LINE 원격 환경 구성하기

jenkins & LINE 원격 환경을 구성하는 방법을 소개하는 글은 아닙니다.


얼마 전부터 '다른' 방법으로 jenkins를 다루는법을 생각하다가 결국 LINE 메신져를 이용해서 관리하기로 정했다. 이 방법의 제일 좋은점은 빌드가 끝나면 '라인 메신저'로 완료를 알려준다. (라인 앱에서 푸시도옴)

기본적으로 원격으로 빌드할 수 있고 (당연히), 서버의 item들의 리스트를 모두 가져오는 기능도 나중에 추가하였다. 이 이상의 기능은 더 만들라면 만들수 있겠지만, 별로 필요가 없어서 안만듬. (이거보다 더 상세히 컨트롤하고싶으면 젠킨스 페이지를 들어가는게 더 편할텐데 라는 생각이다,)



라인 메신져로 빌드를 명령한 화면. 빌드 파라미터중에 Version이 있는데, 이건 수동으로 지정해서 빌드해야 한다. 나머지는 젠킨스에서 구성한 기본값이 들어간다.

젠킨스상에서 실제 빌드가 된 모습. (계속 만들고 테스트하면서 스크린샷 찍어서 빌드 넘버는 맞지 않는다.)


jenkins에서 실행되는 빌드 스크립트쪽에서도 빌드 상황같은걸 빌드를 요청한쪽에 알려줄수 있게 하기 위해 따로 API를 만들었다. 


위 스펙대로 요청하면 해당 빌드를 요청한 사용자한테 메세지를 보내준다. (이 요청은 빌드 상태일때만 유효하다. 빌드 끝나면 닫힘)


오늘 추가한 기능.
빌드 명령에 빌드할 item 이름을 지정할 수 있도록 패치한 모습 & 없는 item을 입력했을 때의 에러 테스트. 사실 나 혼자 쓸거라 그동안 빌드 아이템이나, 파라미터같은걸 그냥 고정으로 해놨었다.

jenkins에 등록된 모든 item 목록을 가져오는 명령어


봇이 살아있는지를 검사하는 명령어