July 27, 2023
2023-07-27 TIL Devops 강의 Devops: Development + Operation의 약자 개발과 운영을 통합 개발팀이 배포 파일을 넘겨주면, 운영 팀이 배포하는 것이 전통적 방식 커뮤니케이션 비용 발생 및 원인 파악의 어려움, 배포 주기가 길어짐 DevOps는 개발자가 서비스 개발 및 운영을 같이 수행, 짧은 주기로 배포, 자동화를 통해 운영 공수를 줄임 기존에는 서비스 운영에 개발만큼 많은 지식이 필요 했음 그러나 클라우드 환경이 보편화되고, 자동화 및 모니터링 도구 등의 등장으로 이제는 훨씬 적은 부담으로 가능 Devops의 범위: CI / CD / 모니터링 및 알림 CI: Continuous Integration 코드 병합 및 퀄리티 유지를 위해 다음과 같은 작업 수행 테스트 코드 작성 PR이 올라오면 코드 리뷰 (리뷰 자체는 자동화가 힘듦) 코드 컴파일 및 테스트 코드 실행 (자동화) 코딩 컨벤션 준수 확인 (자동화) 잠재 결함 분석 (자동화) DevOps는 운영 공수를 경감하기 위한 것이고, CI를 통해 문제 있는 코드를 배포하지 않게 하면 이런 운영 공수가 굉장히 줄어듦 CI 도구: Jenkins, GitHub Actions Jenkins: 오래되었고, 다양한 플러그인을 제공하지만, 이 플러그인들의 충돌이나 서버 단의 관리가 필요 GitHub Actions: 준 설치형 CI도구, GitHub와 높은 수준으로 연동되지만, 외부 액션을 바로 사용은 불가 CI 도구의 역할: 컴파일, 빌드, 테스트 코드 실행, 코딩 컨벤션 준수 확인, 잠재 결함 분석 하나라도 실패하면 코드가 병합되지 않도록 해야!
read more