나의 발자취

Gitlab & 클린코드 || 02. 실무에서 사용하는 깃랩의 유용한 기능 본문

앨리스 교육

Gitlab & 클린코드 || 02. 실무에서 사용하는 깃랩의 유용한 기능

달모드 2021. 6. 23. 23:45

01. WiKI

위키 문서를 보면 좀더 상세한 정보를 알 수 있어 편리하다.

프로젝트에 관해 설명하고 싶은 내용이 있을 때 마크다운 작성법을 이용해 간편하게 문서작성이 가능하다.

프로젝트에 와서 Create your first page버튼을 누른다.

페이지는 페이지 하나를 만들어두고 그곳에 링크를 추가하는 방식으로 만들어나간다.

02. Member 권한과 접근

멤버 역할 : Guest, Repoter, Developer, Maintainer, Owner 이렇게 다섯 개의 역할이 있다.

만들어진 그룹에 새로운 프로젝트를 생성하면 그룹의 멤버들을 상속한다.

 

서브 그룹 : 그룹 안의 하위 그룹

서브 그룹 하위에 또 서브 그룹을 만들 수 있다. 서브 그룹도 프로젝트와 마찬가지로 상위 멤버를 상속한다.

Max Access Level 조절에서 주의할 점 : 그룹을 한 번에 초대하면 권한이 max access level을 넘지 못하도록 설정할 수 있다.

예시 ) FE1팀에서 진행하고 있는 프로젝트에 FE2팀을 추가하려 할 때, 레벨이 Developer로 되어있으면 FE2팀에 Dvper 레벨보다 높은 사람들이 소속되어있으면 이 사람들은 FE1 프로젝트에 추가될 때 레벨이 자동으로 Developer으로 낮아진다. 그보다 낮은 Guest, Reporter의 경우 레벨이 그대로다. 

03. Lint의 중요성

프로그램 실행에 당장은 문제를 일으킬 여지가 적지만, 그냥 두어서 쌓이게 되면 나중에 문제로 돌아올 수 있는 기능을 찾아주는 기능이다.(기술 빚을 찾아준다)

예) 코딩 스타일, 선언했지만 사용하지 않은 변수들..   등 비효율적인 기술 빚을 방지할 수 있다

  • '' or "" 통일
  • 누락된 ' 찾기
  • 선언되었지만 사용되지 않은 변수
  • 사용되었지만 선언되지 않은 변수

<Lint 적용>

1. 린트 설정

$ npm install --save-dev eslint

$ ./node_modules/.bin/eslint --init      // 입력 후 터미널에서 초기옵션을 설정 한다.

$ ./node_modules/.bin/eslint .                // 어디에 수정사항이 있는지 터미널에 나온다.

$ ./node_modules/.bin/eslint . --fix       // 간단한 것을 수정한다.

2. 그러면 수정할 수 없는 것만 남게 된다. 오류가 아니지만 오류로 표시된것들도 나오는데 그것은 위에서 글로벌로 정의해서 lint에서 체크하지 않게 할 수 있고, 주석으로 설명을 달아줄 수 있다. 터미널에서 require, describe, it 변수가 사용되지 않았다고 나왔으므로 그에 대한 주석을 단다. 

CI로 자동화

3. 필수적인 순서는 아니지만, 테스트 전에 린트가 진행될 수 있도록 .gitlab-ci.yml에서 stages: 에서 .test 줄 위에 .lint를 추가한다.

또한 script:에 - ./node_modules/.bin/eslint . 을 추가한다.

$ git branch       // branch 확인

$ git add .

$ git commit -m "lint 추가"

$ git push

 

4. 깃랩의 프로젝트로 가서 스테이지가 추가된 것을 확인한다.

04. 통계

깃랩의 통계 기능은 프로젝트에 대한 통계를 알 수 있다.

CI/CD 관련 분석을 그래프로 알 수 있다. MR, Issue, repository analytics, commit 관련 통계, value stream 등의 평균 시간과 통계와 같은 분석을 알 수 있다.

05. Operations

Metrics

코드가 시행되고 있는 메모리상의 통계를 알 수 있다.

Environment : 배포 환경 관리

실제로 서버를 구동할때 하나의 서버만을 가동하는 것은 아니다. staging 1 -> staging 2 -> ... -> process

staging server을 만들어서 CI/CD설정에 추가할 수 있다.

staging에서 한번 더 서버의 안정성을 확인한 후 master에 merge.

Error Tracking

sentry.io

이곳에 가입해서 

$ npm install @sentry.node

Feature flags : 서비스의 기능을 깃랩에서 on/off 하고싶을 때 사용

 

Comments