서론
소스코드 관리 도구는?
SCM (Source Code Management)
소스코드의 관리가 필요한 이유: 유지보수, 버전관리 등을 수월하게 하기 위함
CVS to SVN to GIT
GIT 개념
GitHub이란?
GitLab vs GitHub
gitlab의 출발 모토: 개발에 관한 a to z를 제공
결론
Git: 형상 관리 도구
GitHub: 협업 공간 및 저장소
GitLab: 협업 공간 및 저장소 + 통합 개발 환경
본론
DevOps의 기본 철학: 시스템의 자동화
커밋과 이슈 연통 tip
개발~테스트~배포의 자동화
소프트웨어의 7가지 특성
CI: 지속적 통합 (PLAN->CODE->BUILD->TEST)
CD: 지속적 배포 (DEPOY->OPERATE->MONITOR)
코딩 스타일 분석 툴 (코딩 스탠다드)
python: Pylint, Pyflakes, Flake8
java: Checkstyle, PMD, FindBugs
js: Eslint, Jslint
gitlab의 기능들을 github actions을 통해서도 사용할 수 있다.
ps. 후반엔 실습 따라가기에 급급해서 메모를 할 수 없었지만 gitlab에서 CI를 하는 방법에 대해 배울 수 있었다. 한이음 프로젝트를 진행할 때 제공되는 GitLab을 통해 버전관리를 했었는데, 그동안 CI/CD에 대해 잘 모르다보니 GitLab의 전체 기능의 10퍼센트밖에 사용하지 않았던 것 같다.