Once in a Lifetime

5일간의 Slack 사용기 본문

Develope Diary

5일간의 Slack 사용기

riceworld 2016. 7. 15. 08:48

작년말쯤에 Slack 을 팀도구로 쓰려고 잠깐 사용해 보았는데, 그때는 이직한지 얼마 되지도 않았고 나름의 적응기라 새로운 툴을 사용하자고 제안하기도 참 애매하던 시절이라 그냥 이런저런게 가능하고 이렇게 사용하는거구나 맛보기 정도로만 훑고 던져버렸던 기억이 있다.


반년이 지난 지금 CI/DI 를 TeamCity 에서 Jenkins 로 프로젝트들을 옮겨가고 있고, 형상관리는 SVN 에서 Git 으로 넘기는 중에 있는데, 메일로만 Notify 를 받다보니 메일이 쌓이는것도 좀 짜증나고, 외부로 열려있지 않은 CI/SCM 의 노티를 모바일(이라고 읽고 외부에서) 받고 싶은 욕망에 Slack 팀 생성을 새롭게 해서 Integration 해봤다.


1. GitLab


작년말에 비해서 Slack 의 Integration 이 좀 많이 바뀐것 같았다. 기억에는 연동할 수 있는 서비스가 그렇게 많지 않았던것 같은데, 이제는 서비스 연동은 물론 앱(플러그인인가?)이라는 개념도 들어와 있고, 컨텐츠도 굉장히 다양한 것 같다. SCM 중에는 이미 Github, Bitbucket, TFS 이 앱형태로 제공되고 있고, GitLab 의 경우 WebHook 으로 연결가능 하다. 커밋,푸쉬,풀리퀘스트등 일련의 모든 작업에 대한 Notify 를 제공한다.


2. Jenkins


젠킨스의 경우는 Slack 에서는 App 을 설치하고, Jenkins 의 Slack 플러그인을 설치하므로써 쉽게 연결이 가능하다. 뭐 내부적으로야 WebHook 방식으로 GitLab 과 동일한 방식인듯...기본적으로 develop/master 브랜치에 대한 각각의 젠킨스 잡의 빌드 알림이 오긴하는데, 배포관련된 Promotion Job 이나 Post Build Action(예를들어, Artifact 서버로의 배포등) 에 대한 알림은 포기하는게 좋을 듯 싶다. 뭐 어짜피 배포는 빌드후 자동이 아닌 수동배포이기 때문에 큰 이슈는 없을것 같지만 뭔가 좀 아쉽긴 하다.


3. Bot


사실 이부분이 가장 흥미로운 부분인데, GitHub 의 Hubot 을 써볼까 하다, 굳이 이것때문에 CoffeScript 를 깨작이는것보다는 빠르게 작성할 수있는 C# Script 를 사용하는 Bot 을 우연히 찾아서 사용해 봤다. Global Lock 을 지원하여 스레드의 일관성을 보장해 주고, 기본적인 Http Get/Post 통신 지원(사실 뭐 이것만 있어도 기본적인 봇 기능 개발이는 문제가 없긴하다), Scheduler 지원등 내가 필요로하는 가장 기본적인 기능들은 다 있고, 스크립트 작성이 무엇보다 가장 빠른(나한테만 그렇겠지만..ㅠ_ㅠ)게 장점이라면 장점. Hubot 처럼 Heroku 에 디플로이도 가능하다. (개발자가 제공하는 Heroku 빌드팩 이용)


Slacker : https://github.com/pjc0247/Slacker


어제 간단한 서버 헬스 모니터링 기능을 올려봤는데, 아직까진 제대로 동작하는 것 같다. 그외 스위치 허브나 App Pool Recycle 같은 기능도 만들고 싶긴한데, 아무래도 외부에서 상주하는 워커에 올리기는 좀 그렇고...내부에 넣자니...절차가 복잡하고...걍 이 수준에서 끝내야 하나 싶긴한데, 좀 더 고민을 해봐야 할 것 같다. ㅋ

Comments