Gitlab - CI/CD, Wiki, Member, Lint, Operations
CI/CD
CI(Continuos Integration): 푸쉬할 때 마다 자동으로 테스트하고 머지해줌.
CD(Continuos Deploy, Delivery) : CI에다가 배포까지 자동화 한 것
보통 CI/CD를 Jenkins라는 것을 통해 한다는데, 깃랩도 이런 기능이 있고 편리하다고 한다.
중간에 mocha, should, supertest 와 --save-dev 옵션에 대한 이야기가 나와서 검색해보니, 앞의 세개는 TDD(Test Driven Development) 주요 라이브러리이고, 뒤의 옵션은 개발 서버에서만 작동하도록 하는 옵션이라고 한다.
Wiki
markdown문법을 사용하는 문서들을 wiki 처럼 타고 타고 들어갈 수 있게 만들어서 보통 프로젝트에 있는 README.md를 다양하게 구성할 수 있게 해주는 것 같다.
보통 깃허브는 README.md 하나에 다 들어가 있는데, 각각의 정보들을 Wiki로 참조하게끔 하면 조금 단순하게 구성할 수 있을 것 같다.
Member
그룹, 서브그룹, 멤버 등에 대해 배웠다. 그룹은 프로젝트와 멤버들을 포함하고 소그룹을 만들 수도 있다. 멤버나 그룹의 권한 조절이나 같은 그룹 내에서 팀 간 작업을 위해 사용할 수 있을 것 같다. 서브그룹과 프로젝트는 상위의 것을 상속받고, 그룹마다 액세스 레벨을 설정할 수 있는데 두번 초대된 그룹이나 멤버는 더 높은 등급의 것으로 쳐준다.
Lint
당장 실행에는 문제가 없지만 나중에 크게 돌아올 수 있는 기술부채를 미리미리 해소하는데 도와주는 기능이다. 가독성이 좋지 않은 코드, 사용하지 않는 변수, 사용해야되는데 undefined된 변수들을 알려주고 그 외에도 많은 도움을 준다. 예외 처리를 위해 주석으로 옆에 필요한 정보를 적어주면 봐준다(?).
Metrics(통계 정보 확인)
프로젝트의 커밋 횟수, 비율, 시간, 코드리뷰(MR) 이런 것들을 확인할 수 있다...
일단 크게 중요한 거 같지는 않다.
Operations(Environments, Error Tracking, Feature Flags)
Environments
스테이징 서버(테스트), 프로덕션 서버 등의 다양한 환경을 설정해서 테스트해볼 수 있게 해준다.
이것도 .gitlab-ci.yml를 통해 설정해줄 수 있다.
이전으로 롤백할 수도 있다.
Error Tracking
sentry와 연계해 에러 발생 시 깃랩에도 로그를 남길 수 있다.
Feature Flags
특정 서비스, 기능을 on/off 할 수 있게 해준다. unleash-client를 통해 flag값을 가져와 서비스를 on/off 할 수 있나보다.
클린 코드, 읽기 좋은 코드, 의미 있는 코드
코드도 그렇지만 주석에도 좋은 주석과 나쁜 주석이 있다는 것을 알게 되었다. 옛날에 스터디나 팀플에서 주석달 때 의미없는 주석을 달았던 생각이 났다.
코드를 짤 때는 다른 사람이 봐도 한번에 알기 쉽도록(최대한 간단하고, 적당한 길이로),
주석은 읽는 사람에게 좋은 정보를 전달할 수 있도록.
그리고 if 문에 boolean, 빈 시퀀스, 접두사 등을 조건으로 걸 때 굳이 안 써도 되는 것들이 있다는 것도 알았다.
내일 내용
내일은 무려 생활 코딩의 이고잉님의 실시간 강의 ㄷㄷ
하지만 엘리스 노션을 아무리 찾아봐도 내일 실시간 강의 내용을 모르겠다...
또 나만 모르나
나중에 읽어볼만한 문서
https://docs.gitlab.com/ee/ci/yaml/gitlab_ci_yaml.html
https://www.python.org/dev/peps/pep-0008/
'교육, 대외활동, 봉사 > 엘리스 AI 트랙 2기' 카테고리의 다른 글
[엘리스 AI 트랙 2기] Day 5 - Git, CLI (0) | 2021.06.28 |
---|---|
[엘리스 AI 트랙 2기] Day 4 - Git, CLI by 생활코딩 이고잉님 / 클린 코드 (0) | 2021.06.25 |
[엘리스 AI 트랙 2기] Day 2 - Git, Gitlab (0) | 2021.06.23 |
[엘리스 AI 트랙 2기] Day 1 - OT, 리눅스 기초 (0) | 2021.06.22 |
엘리스 AI 트랙 2기 레이서 면접 후기 (20) | 2021.06.15 |
댓글