- GDK란 무엇인가요?
- 로컬로 GDK 설치 및 사용하기
- GDK를 로컬로 실행하는 대신 Gitpod 사용하기
- GitLab 코드베이스 탐색
- 좋은 Merge Request 작성하기
- 실시간 코딩
레슨 1
이 레슨에서는 가장 작은 문제 - 한 글자 텍스트 변경에 대처합니다. 이를 위해 다음을 배워야 합니다:
- GitLab 개발 환경 설정 방법
- GitLab 코드 베이스 탐색 방법
- GitLab 프로젝트에서 Merge Request을 생성하는 방법
이 3가지를 배운 후에는 GitLab 팀원이 라이브 코딩 데모를 진행할 것입니다. 데모에서는 배운 것을 사용하여 이러한 작은 문제 중 하나를 완료함으로써 여러분이 단독으로 문제를 해결할 수 있도록 합니다.
우리가 라이브 코딩으로 진행할 문제와 매우 유사한 문제들의 디렉터리이 여기 “연결된 항목” 섹션에 있으니, 지금 이 중 하나에 댓글을 남겨서 여러분도 참여하도록 지정하세요.
GDK란 무엇인가요?
GDK(GitLab Development Kit)는 개발자가 자신의 컴퓨터에서 GitLab을 실행하고 테스트할 수 있도록 하는 GitLab의 로컬 인스턴스입니다. GDK는 프론트엔드 전용 애플리케이션과는 달리 백엔드 서비스, API 및 로컬 데이터베이스를 포함한 전체 GitLab 애플리케이션을 실행합니다. 이를 통해 개발자는 변경 사항을 만들고 실시간으로 테스트하고 수정 사항을 유효성 검사할 수 있습니다.
GDK 사용 팁:
- 문제 발생 시 문서 참조: GDK에서 문제가 발생할 때는 GDK 리포지터리의 문제 해결 문서를 참조하세요. 이 문서들은 일반적인 문제를 해결하는 데 도움이 되는 유용한 명령어와 팁을 제공합니다.
- Rails 콘솔 사용: Rails 콘솔은 로컬 GitLab 인스턴스와 상호 작용하기 위한 필수 도구입니다.
gdk rails c
를 실행하여 액세스하고 피처 플래그를 활성화하거나 비활성화하고 백엔드 작업 등을 수행할 수 있습니다. - 최신 상태 유지:
gdk update
를 실행하여 정기적으로 GDK를 업데이트하세요. 이 명령어는 GitLab 프로젝트의 최신 브랜치뿐만 아니라 GDK와 해당 의존성의 최신 브랜치를 가져옵니다. GDK를 최신 상태로 유지하면 최신 버전의 GitLab을 사용하고 최신 버그 수정을 보장할 수 있습니다.
더 많은 지원이 필요하거나 특정 질문이 있는 경우 Discord나 다른 사용 가능한 지원 채널을 통해 GitLab 커뮤니티에 문의하세요.
로컬로 GDK 설치 및 사용하기
최신 설치 지침은 GitLab Development Kit 문서를 참조하세요.
다음은 단계별 요약입니다:
- 준비 사항:
- 16GB RAM. 그 이하인 경우 Gitpod 사용을 고려하세요.
- 컴퓨터에 Git이 설치되어 있는지 확인하세요.
- Visual Studio Code와 같은 코드 편집기를 설치하세요.
- 계정을 만들거나 로그인하여 GitLab.com의 커뮤니티 멤버 그룹에 가입하세요.
- 설치:
- GitLab Development Kit (GDK)를 설치할 디렉터리를 선택하세요.
- 터미널을 열고 선택한 디렉터리로 이동하세요.
-
터미널에서 설치 스크립트를 다운로드하고 실행하세요:
curl "https://gitlab.com/gitlab-org/gitlab-development-kit/-/raw/main/support/install" | bash
- 안전한 출처에서만 스크립트를 실행하세요.
- 설치 프로세스에는 20분 이상 소요될 수 있습니다.
- 리포지터리 선택:
- 본래의 GitLab 리포지터리를 클론하는 대신 보다 넓은 커뮤니티 회원들을 위해 추천되는 커뮤니티 포크를 사용하세요.
- 제공된 지침에 따라 커뮤니티 포크를 설치하세요.
- GDK 구조:
- 설치 후에 GDK 디렉터리가 생성됩니다.
- GDK 디렉터리 안에는 GitLab 프로젝트 폴더가 있습니다.
- GDK 사용하기:
- GDK는 인스톨에 상호 작용할 수 있는 많은 명령어를 제공합니다. 이러한 명령어를 실행하려면 GDK나 GitLab 폴더 안에 있어야 합니다.
- 터미널에서
gdk start
명령어를 실행하여 GDK를 시작하세요. - 터미널에서
gdk help
명령어를 실행하여 사용 가능한 명령어 및 옵션을 살펴보세요.
더 궁금한 사항이나 문제가 있는 경우 문서를 참조하거나 커뮤니티 지원을 요청하세요.
GDK를 로컬로 실행하는 대신 Gitpod 사용하기
Gitpod은 자신의 컴퓨터가 아닌 Gitpod 서버에서 GitLab Development Kit (GDK)을 실행하는 가상 머신을 실행할 수 있는 서비스입니다. 여기에서 코드를 편집하고 GDK가 동작하는 것을 볼 수 있는 웹 기반 통합 개발 환경(IDE)을 제공합니다. Gitpod은 GDK를 로컬로 설치하지 않고 빠르게 GDK 환경을 구축하거나 작은 Merge Request을 만들거나 충분한 리소스가 없는 기계에서 GDK를 실행하는 데 유용합니다.
Gitpod 사용 방법:
- GitLab 커뮤니티 포크 웹사이트로 이동하여 편집을 선택한 다음 Gitpod을 선택하세요.
- 편집기(일반적으로
main
또는master
브랜치)와 컨텍스트와 같은 설정을 구성하세요. - 열기를 선택하여 Gitpod 워크스페이스를 생성하세요. 이 프로세스는 최대 20분이 소요될 수 있습니다. GitLab Development Kit (GDK)이 Gitpod 워크스페이스에 설치됩니다. 이 과정은 로컬로 GDK를 다운로드하고 설치하는 것보다 빠릅니다.
워크스페이스가 생성되면 선택한 IDE가 브라우저에서 실행됩니다. 원하는 경우 데스크톱 IDE에 연결할 수도 있습니다. Gitpod을 로컬에서 사용하는 것과 마찬가지로 취급하세요. 브랜치를 만들고 코드 변경을 하고 커밋하고 커뮤니티 포크로 푸시하세요.
기타 팁:
- 워크스페이스가 시간 초과되지 않도록 코드를 정기적으로 푸시하세요. 휴면 상태의 워크스페이스는 최종적으로 파기됩니다.
- 필요한 경우 Gitpod 워크스페이스 설정을 사용자 정의하세요. 예를 들어 자신의 GitLab 프론트엔드를 공개로 설정할 수 있습니다.
- 분이 부족하면 Discord 서버의 지원팀에 문의하세요.
- 로컬로 실행하는 것과 마찬가지로 Gitpod 워크스페이스에서
gdk start
및gdk status
와 같은 명령어를 사용하여 문제를 해결하세요.
이러한 단계를 따라 Gitpod을 활용하여 로컬 설치 없이 효율적으로 GitLab Development Kit을 개발할 수 있습니다.
GitLab 코드베이스 탐색
GitLab 코드베이스를 탐색하는 방법을 이해하는 것은 기여자들에게 중요합니다. 코드베이스를 탐색하고 특정 파일을 찾는 것은 변경 사항을 만들고 문제를 효과적으로 해결하는 데 중요하지만 어려울 수 있습니다. 여기에서는 GitLab에서 파일을 찾고 해당 파일이 렌더링된 위치를 찾는 단계별 프로세스를 살펴보겠습니다.
이미 작업할 파일을 알고 있고 해당 파일이 렌더링된 위치를 찾고 싶다면:
- 파일의 목적을 이해하기 위한 단서를 수집하는 것으로 시작합니다. 파일 자체에서 관련 정보를 찾아보세요. 특정 콘텐츠나 키워드를 찾아서 해당 파일의 컨텍스트를 나타낼 수 있는지 확인해보세요.
- 파일 경로(또는 폴더 구조)를 검토하여 해당 파일이 렌더링될 수 있는 위치에 대한 통찰을 얻을 수 있습니다. GitLab의 많은 라우팅은 폴더 구조와 매우 유사합니다.
- 이 컴포넌트가 사용된 기능(또는 기능 중 하나)을 확인할 수 있다면, 해당 컴포넌트가 사용된 페이지로 이동하는 방법을 알아내기 위해 GitLab 사용자 설명서를 활용할 수 있습니다.
- 컴포넌트의 계층 구조를 따라가고 파일 이름을 전역 검색하여 해당 컴포넌트를 렌더링하는 상위 컴포넌트를 식별합니다. 컴포넌트의 계층 구조를 계속해서 따라가서 인식하거나 GitLab 사용자 설명서에서 검색할 수 있는 기능으로 거슬러 올라갑니다.
-
GitLens
와 같은 확장 프로그램을 이용하여 이 파일이 변경된 최근 MR을 찾기 위해git blame
을 사용할 수 있습니다. 대부분의 MR에는 따를 수 있는 “유효성 검증 방법(How to validate)” 섹션이 있습니다. 유효성 검증 방법이 없는 경우 이전 변경 내용을 찾아 유효성 검증 단계가 포함된 MR을 찾을 때까지 계속합니다.
수정해야 할 페이지를 이미 알고 있고 파일 경로를 찾고 싶다면, 다음을 시도해볼 수 있습니다:
- 변수를 포함하지 않고 고유한 콘텐츠를 찾아서 번역 변수를 검색할 수 있도록 합니다.
- Vue Dev Tools를 사용하여 컴포넌트 이름을 찾아보세요.
- 컴포넌트의 HTML에서
data-testid
,id
또는 고유한 CSS 클래스와 같은 고유 식별자를 찾은 다음 해당 식별 문자열을 전역으로 검색하세요.
좋은 Merge Request 작성하기
Merge Request을 작성할 때 중요한 점들이 있습니다:
- Merge Request(MR)은 GitLab 프로젝트의 문서의 영구적인 일부가 될 것입니다. 나중에 코드가 왜 작동하는지 또는 대체 솔루션을 사용하지 않는 이유에 대해 이해를 돕기 위해 미래에 사용될 수 있습니다.
- 적어도 2명의 엔지니어가 여러분의 코드를 검토할 것입니다. 효율성을 위해 (여러분이 작성한 코드처럼) MR을 더 잘 작성하는 데 조금 더 시간을 투자하여 다른 사람들이 읽기 빠르고 쉽도록 만드는 것이 좋습니다.
- GitLab에서 만드는 MR은 공개적으로 이용할 수 있습니다. 이는 일자리를 찾을 때 자신이 특히 자랑스러워하는 MR에 대한 링크를 포트폴리오 페이지에 추가할 수 있다는 것을 의미합니다.
- MR은 기술 문서이므로 기술적 글쓰기 스타일을 적용해보세요. 이 스타일이 무엇인지 모르는 경우 Google의 기술 글쓰기에 관한 강력 추천하는 짧은 코스를 참고하세요. 또한, GitLab의 문서에 기여하는 경우 GitLab에서 제공하는 기술 글쓰기 기초 코스를 이용할 수 있습니다.
실시간 코딩
이제 여러분 차례입니다. 첫 번째 MR을 완료해보세요. 방금 마친 것과 매우 유사한 디렉터리의 문제들이 여기 “연결된 항목” 섹션에 완료되어야 할 것입니다. 기여해 주셔서 감사합니다! (남아 있는 문제가 없다면 Discord 또는 기타 사용 가능한 지원 채널에서 알려주시면 더 찾아드리겠습니다)