이 글에서는 Greenplum 소스 코드 다운로드를 하는 방법에 대해서 설명합니다.
Table Of Contents
Greenplum 소스 코드
Greenplum은 오픈소스로 아래 링크에서 소스의 github 페이지와 소스 디렉토리 구조에 대해서 설명하고 있습니다.
https://greenplum.org/introduction-to-greenplum-architecture/
Greenplum에 관심이 있으시다면 먼저 Greenplum 소스 코드를 다운로드하여 기여자의 첫 단계를 밟으실 수 있습니다. Greenplum은 Github에서 다운로드할 수 있습니다. 다운로드 후 먼저 소스 코드를 컴파일하고, 컴파일 과정에서 디버그 정보를 켜고 최적화를 해제하세요.
github에서 greenplum으로 검색을 하면 아래와 같이 몇 가지가 나오는데, 네 번째에 위치한 gpdb가 gleenplum 공식 github 입니다.
추가로 intro 페이지에 디렉토리에 대한 설명이 다음과 같이 나타나 있습니다.
github에서 오픈소스 프로젝트에 기여하는 법
github에서 소스코드를 fork하고 기여하는 것은 먼저 내 local repository로 fork해 온 다음에 진행하게 됩니다.
GitHub에서 오픈 소스 프로젝트에 기여하는 방법을 정리해보면 다음과 같은 단계로 나눌 수 있습니다. 이 단계를 따라 진행하면 프로젝트에 기여하는 과정이 원활하게 진행될 것입니다.
- GitHub 계정 만들기: GitHub에 계정을 만들어야 합니다. 이미 계정이 있다면 로그인하면 됩니다.
- 프로젝트 포크 (Fork): 프로젝트 페이지에서 우측 상단에 있는 "Fork" 버튼을 클릭하여 해당 프로젝트를 자신의 계정으로 복제합니다. 이로써 본인의 GitHub 계정에 해당 프로젝트의 복사본이 생성됩니다.
- 로컬 환경 설정: 자신의 컴퓨터에 Git을 설치하고, 프로젝트를 로컬 환경으로 복제(clone)합니다. 이를 위해 다음과 같은 명령어를 사용합니다.
git clone https://github.com/자신의계정/프로젝트.git
- 브랜치 생성: 작업을 위한 새로운 브랜치를 생성합니다. 주로 개발 브랜치 또는 기능 브랜치로 작업합니다.
git checkout -b 기능_또는_작업_브랜치
- 코드 변경: 로컬 환경에서 코드를 수정하고 변경사항을 저장합니다.
- 변경 내용 커밋 (Commit): 변경사항을 Git으로 커밋합니다. 이때 메시지를 작성하여 변경사항을 설명해야 합니다.
git commit -m "커밋 메시지"
- 원본 프로젝트와 동기화 (Sync): 원본 프로젝트가 업데이트되었을 경우, 로컬 저장소를 업데이트하고 충돌을 방지하기 위해 주기적으로 원본 프로젝트와 동기화합니다.
git fetch upstream
git merge upstream/메인_브랜치
- 풀 리퀘스트 (Pull Request) 작성: GitHub 페이지로 돌아가서 풀 리퀘스트를 작성합니다. 이때, 어떤 변경사항을 제안하고 왜 그런 변경이 필요한지 자세히 설명해야 합니다.
- 코드 리뷰와 수정: 프로젝트 관리자나 다른 기여자들이 풀 리퀘스트를 검토하고 의견을 제시할 것입니다. 이에 따라 코드를 수정하고 코멘트에 대한 대응을 합니다.
- 풀 리퀘스트 승인: 프로젝트 관리자가 변경사항을 승인하면 코드가 원본 프로젝트에 병합됩니다.
이러한 단계를 따라가면 GitHub에서 오픈 소스 프로젝트에 기여하는 방법을 순서대로 진행할 수 있습니다
Greenplum 소스 코드 다운로드
Greenplum github는 아래 링크에서 바로가기 할 수 있습니다.
https://github.com/greenplum-db/gpdb
해당 링크로 이동하면 아래와 같이 fork를 통해 내 repository로 가져올 수 있습니다.
fork를 하지 않고도 다운은 받을 수 있지만, 일단 fork 후 clone 명령으로 다운 받아봅니다.
git clone https://github.com/자신의계정/gpdb.git
위의 명령을 수행하여 로컬에 clone 합니다.
% git clone https://github.com/lswhh/gpdb.git
'gpdb'에 복제합니다...
remote: Enumerating objects: 912018, done.
remote: Counting objects: 100% (412/412), done.
remote: Compressing objects: 100% (218/218), done.
remote: Total 912018 (delta 263), reused 251 (delta 190), pack-reused 911606
오브젝트를 받는 중: 100% (912018/912018), 650.86 MiB | 5.49 MiB/s, 완료.
델타를 알아내는 중: 100% (757310/757310), 완료.
파일을 갱신합니다: 100% (14119/14119), 완료.
'DBMS' 카테고리의 다른 글
MPP DBMS Greenplum 컴파일 후 데모 클러스터와 psql 테스트 (0) | 2023.12.02 |
---|---|
MPP DBMS Greenplum Ubuntu - 그린플럼 우분투(22.04)에서 소스 컴파일 하기 (0) | 2023.12.02 |
MPP DBMS Greenplum Architecture (2) - opensource (0) | 2023.12.01 |
MPP DBMS Greenplum(그린플럼) Architecture (1) - opensource (0) | 2023.11.30 |
NoSQL의 처리 방식에 따른 분류, 순위 | Key-Value vs Document (0) | 2023.11.29 |