처음 만드는 Github CI도전기

Las
Las
Aug 31, 2018 · 3 min read

요새 CI가 대세라죠. 그래서 힙스터개발자인 저도 한번 해보기로 했습니다. 하게 된 이유는 그렇게 없지만, 코드 테스트가 가능하고, 좋은 기능인 것은 사실이죠. 사용할 이유는 충분히 지어낼 수 있습니다. 일단 한번 해봐야겠죠.

처음에 고민한 것은 젠킨스였습니다. 사실 이때만 해도 CI보다는 배포에 관심이 가있었지만 큰 문제가 되는 사항은 아닙니다. 젠킨스를 포기한 이유는 웹 기반이라서 쓰기가 불편했고 깃헙과 연계가 귀찮았습니다. 다른 좋은것들이 있으니까 그걸 써야죠. 그리고 자바를 개발하는 것이 아니기에 젠킨스는 빨리 버렸습니다.

여기있는 버튼을 클릭하면 됩니다.

젠킨스 다음으로 보게된 것은 깃헙에서 지원하는 CI들입니다. Travis, Circle등등이 있죠. 처음에는 Travis를 고민했지만 유료이기에 Circle로 시작했습니다. 사실 그 둘의 큰 차이는 없더군요. 종류가 많았기때문에 무난한 걸로 정했습니다.

알맞게 사용하세요!

일던 처음에는 등록만 시켜두었습니다. 그리고 커밋을 하더니 알아서 돌더군요. 테스트를 등록하라길래 어쩔줄 몰라하다가 문서를 보니 .circleci폴더에 config.yml에 테스트를 넣으라고 하더군요. 파이썬 프로젝트였기에 간단한 예시를 주었습니다. 그 예시는 좋았고 기초를 다질 수 있었습니다. 단지 복사하고 실행하면 끝입니다!

그러나 커밋할 때만 반응하기때문에 쓸데없는 실험때문에 커밋이 굉장히 많이 늘어났습니다. 커밋이 뻥튀기된거죠. 적당히만 되면 좋으나 40이 넘어가면 그 전에 했던 작업의 색이 연해집니다. 그래도 초반에는 이것저것 만져보는데 좋더군요!! 일단 등록이 1단계였다면 2단계는 config.yml을 작성하는 것입니다. 어려가지 작업했던 분은 아시겠지만 그렇게 어렵지 않습니다. 도메인 언어로 코딩하는 느낌이기에(도커와 많이 유사해보입니다) 조금만 시간을 들이면 누구나 쉽게 작성이 가능합니다.

우리는 이정도에서 만족하면 안됩니다. 도커를 써서 더 편하게 작업해야죠! 저는 도커를 이런 CI를 하면서 처음 배웠습니다. 힙스터가 도커를 안쓴다는건 부끄러운일이죠. 그럼 이제 도커라이징을 할 시간입니다!

깃헙 레포에서 도커파일을 만들고 도커허브에 저장을 해두었습니다. 저기 위에있는 이미지를 바꾸기만 하면 실행되는 환경이 바뀝니다. 도커는 나중에 차차 다루기로 하고 이정도만 하면 충분한 CI환경입니다. 간단한 설정을 더한다면 더욱 좋겠죠. 처음에는 다른사람이 풀리퀘스트를 날려도 테스트가 동작하지 않습니다. 이러한 것은 설정으로 바꿀 수 있는 기능입니다.

이렇게 삽질만 조금 해주시면 아주 재미있는 CI를 만들 수가 있습니다. 다른 사람들에게 “아직도 로컬에서 테스트하니? 나는 CI로 쉽게 작업한다”라면서 자랑해 보는건 어떤가요!

Las

Las

Magical Girl / Functional Programming / Go, Scala, Elixir, Python / AdTech / High School Student

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade