GitHub 저장소에서 GitLab CI/CD 사용
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
GitLab CI/CD는 GitHub.com 및 GitHub Enterprise에서 CI/CD 프로젝트를 생성하여 GitHub 저장소를 GitLab에 연결함으로써 사용할 수 있습니다. GitHub 저장소에서 GitLab CI/CD 파이프라인 사용 비디오를 시청하세요.
GitLab CI/CD는 GitHub.com 및 GitHub Enterprise에서 CI/CD 프로젝트를 생성하여 GitHub 저장소를 GitLab에 연결함으로써 사용할 수 있습니다.
GitHub 저장소에서 GitLab CI/CD 파이프라인 사용 비디오를 시청하세요.
GitHub 제한사항으로 인해 GitHub OAuth는 외부 CI/CD 저장소로 GitHub에 인증하는 데 사용할 수 없습니다.
개인 액세스 토큰으로 연결#
개인 액세스 토큰은 GitHub.com 저장소만 GitLab에 연결하는 데 사용할 수 있으며, GitHub 사용자는 owner 권한이 있어야 합니다.
GitLab이 저장소에 액세스할 수 있도록 GitHub에서 일회성 인증을 수행하려면:
- GitHub에서 토큰을 생성합니다:
- https://github.com/settings/tokens/new를 엽니다.
- 개인 액세스 토큰을 생성합니다.
- GitLab이 프로젝트에 액세스하고, 커밋 상태를 업데이트하고, GitLab에 새 커밋을 알리는 웹 훅을 생성할 수 있도록 Token description을 입력하고
repo및admin:repo_hook범위를 포함하도록 업데이트합니다.
- GitLab에서 프로젝트를 생성합니다:
- 오른쪽 상단에서 Create new (+)와 New project/repository를 선택합니다.
- Run CI/CD for external repository를 선택합니다.
- GitHub를 선택합니다.
- Personal access token에 토큰을 붙여넣습니다.
- List Repositories를 선택합니다.
- Connect를 선택하여 저장소를 선택합니다.
- GitHub에서
.gitlab-ci.yml을 추가하여 GitLab CI/CD를 구성합니다.
GitLab은 다음을 수행합니다:
- 프로젝트 가져오기.
- 풀 미러링 활성화.
- GitHub 프로젝트 통합 활성화.
- GitLab에 새 커밋을 알리기 위해 GitHub에 웹 훅 생성.
수동으로 연결#
GitHub Enterprise와 GitLab.com을 함께 사용하려면 이 방법을 사용합니다.
저장소에 대해 GitLab CI/CD를 수동으로 활성화하려면:
-
GitHub에서 토큰을 생성합니다:
- https://github.com/settings/tokens/new를 엽니다.
- 개인 액세스 토큰을 생성합니다.
- GitLab이 프로젝트에 액세스하고 커밋 상태를 업데이트할 수 있도록 Token description을 입력하고
repo범위를 포함하도록 업데이트합니다.
-
GitLab에서 프로젝트를 생성합니다:
- 오른쪽 상단에서 Create new (+)와 New project/repository를 선택합니다.
- Run CI/CD for external repository 및 Repository by URL을 선택합니다.
- Git repository URL 필드에 GitHub 저장소의 HTTPS URL을 입력합니다. 프로젝트가 비공개인 경우 인증을 위해 방금 생성한 개인 액세스 토큰을 사용합니다.
- 다른 모든 필드를 입력하고 Create project를 선택합니다. GitLab이 자동으로 폴링 기반 풀 미러링을 구성합니다.
-
GitLab에서 GitHub 프로젝트 통합을 활성화합니다:
- 왼쪽 사이드바에서 Settings > Integrations를 선택합니다.
- Active 체크박스를 선택합니다.
- 개인 액세스 토큰과 HTTPS 저장소 URL을 양식에 붙여넣고 Save를 선택합니다.
-
GitLab에서 새 커밋을 GitLab에 알리는 GitHub 웹 훅을 인증하기 위해
API범위의 개인 액세스 토큰을 생성합니다. -
GitHub에서 Settings > Webhooks에서 GitLab에 새 커밋을 알리는 웹 훅을 생성합니다.
웹 훅 URL은 방금 생성한 GitLab 개인 액세스 토큰을 사용하여 풀 미러링을 트리거하는 GitLab API로 설정해야 합니다:
https://gitlab.com/api/v4/projects/%2F/mirror/pull?private_token=Let me select individual events 옵션을 선택하고 Pull requests 및 Pushes 체크박스를 선택합니다. 이러한 설정은 외부 풀 리퀘스트를 위한 파이프라인에 필요합니다.
-
GitHub에서 GitLab CI/CD를 구성하기 위해
.gitlab-ci.yml을 추가합니다.
