Continuous Integration (CI, 지속적 통합) 기초를 쉽게 배울 수 있는 무료 교육 소개


출처 : https://workshop.infograb.io/gitlab-ci/11_introduction-to-gitlab-cicd/2_gitlab_ci_cd_workflow/

CI 워크샵 자료 링크 (click)

* 앞광고, 뒷광고, 옆광고 아닙니다. 저는 깃랩말고 깃헙 액션 씁니다. 다만 continuous integration (지속적인 통합) 을 이해하기에 좋은 무료 자료라서 공유합니다.

** 꼭 안 따라하시고 눈으로 보셔도 CI 파이프라인 개념을 쉽게 이해하실 수 있습니다.

***  실습이 실제 실무와 비슷합니다. 지루하고 추상적인 이론보다 실습 위주의 제가 좋아하는 스타일의 자료입니다.

**** CI 가 어떤건지에 중점을 두시고 보시면 되고 깃랩 사용법은 넘어 가시면 됩니다. 만약 쓰실 꺼면 자세히 보시면 되겠습니다. 요즘 어느 솔루션이는 다 비슷비슷합니다. 클라우드에도 CI/CD 서비스들 있습니다. 

***** 이 개념을 이해해야 ML Ops 도 Dev Sec Ops도  이해할 수 있습니다. 

요즘 큰 IT 개발 회사에는 데브옵스 (DevOps) 엔지니어들이 있습니다. CI/CD 업무를 주로 담당합니다. 조금 작은 개발 회사들은 개발자가 데브옵스 업무를 봅니다. 만약 데브옵스 문화가 뭔지 CI/CD가 뭔지 처음들어보신다면  경각심을 가지고 빨리 따라잡으셔야 합니다. IT 기술 발전 속도에 못 따라가는 게 아닌가 하고 저는 개인적으로 생각합니다. 데브옵스 문화가 최근 1~2년에 생긴 것도 아닙니다. 1~2년 밖에 안됐다고 쳐도 IT 에서 1~2년이면 강산이 바뀌는 수준이라고 생각합니다. 계속 헤엄치지 않고 멈추면 뒤지는 무시무시한 곳입니다. (나는 체력 더 떨어지면 나가야징. 무서워ㅠ) 

***

코드 추가하고 로컬에서 테스트 돌리고  jar나 war로 빌드해서 테스트 서버 배포하고, 테스트하고, 뭐가 이상해서 코드 수정하고 다시 빌드하고 테스하고 무한 반복하다 코드 푸쉬 하고  그날 다시 다른거 코드 추가하고 다시 저 위에 사이클 무한 반복!!! 하루  중 코딩한 시간은 몇 프로가 될까요? 

CI 파이프라인을 자동화하지 않은 개발 프로세스에서 비지니스 로직을 코딩하는 시간은 별로 되지않습니다.  그리고 반복적인  부분에서 인간은 여러 실수를 하게 됩니다. 실수를 찾아내고 수정하는데도 시간이 많이 듭니다. 코드 생산성 최악! 

사실 Devops 는 회사에 프로세스만 잘 정착되고 사내교육시스템/문서만 잘 되어있으면 신입도 금방 몇일 만에 적응하고 배우는 시스템입니다. 그냥 그 회사에 개발 업무 절차/프로세스라  파이프라인대로 따라하면 되는 시스템인거죠. 효율적인 시스템이지 업무를 더 힘들게 하는 프로세스가 아닙니다. 많은 기업들이 사용할 때 그 이유를 잘 모르겠으면 그냥 따라 하면 중간은 갑니다. 다만 본인의 환경에 데브옵스 프로세스를 처음 도입하는 그 과정은 힘듭니다 ㅋㅋ 한 번 잘 정착하면 아주 좋다는 말입니다요! 아아 때리지마세요 ㅠ IT에 쉽게 되는 게 어디 있나요? 프로끼리 새삼스럽게

***

실제 업무처럼 STS로 스프링부트 애플리케이션을 만들고 깃랩과 연동해서 CI 파이프라인을 만들어 지속적인 통합을 실습을 통해 배우고 이해하는 자료입니다. 

Rest API 를 구현하고 CI 파이프라인을 통해 빌드, 테스트 후 도커 이미지를 만들고 레지스트리에 푸쉬하는 과정을 실습을 통해 이해할 수 있습니다.

실제 개발환경에 쉽게 적용 가능한 기본적인 실습이라 도움이 많이 되실겁니다. 저 간단한 프로세스 도입으로 개발자는 개발에 집중 할 수 있고, 코드 생산성이 향상됩니다. 제가 2년 전 데브옵스 공부할 때 통계자료가 데브옵스 도입으로 기업의 개발 생산성 30%프로가 향상되었다고 했습니다. 반복적인 빌드나 테스트를 자동화 하는 것만으로도 사람 실수를 줄이고 시간을 절약할 수 있습니다. 꼭 데브옵스가 아니더라도 반복적인 부분을 자동화 하는 건 IT 업계 기본적인 마인드 아니겠습니까?  조금이라도 도움이 되었으면 좋겠습니다. 

- The End - 

Comments