GitHub 저장소에서 GitLab CI/CD 사용하기
Offering: GitLab.com, Self-managed, GitLab Dedicated
GitLab CI/CD는 GitHub.com 및 GitHub Enterprise를 사용하여 CI/CD 프로젝트를 생성하여 GitHub 저장소를 GitLab에 연결함으로써 사용할 수 있습니다.
GitHub 저장소와 함께 GitLab CI/CD 파이프라인 사용하기 비디오를 시청하세요.
Personal Access Token으로 연결하기
개인 액세스 토큰은 GitHub.com 저장소를 GitLab에 연결하는 데에만 사용할 수 있으며, GitHub 사용자는 소유자 역할을 가져야 합니다.
GitHub에서 GitLab에 액세스 권한을 부여하기 위해 일회성 권한 부여를 수행하려면:
- GitHub에서 토큰을 생성하세요:
- https://github.com/settings/tokens/new를 엽니다.
- 개인 액세스 토큰을 생성하세요.
-
토큰 설명을 입력하고
repo
및admin:repo_hook
을 허용하도록 스코프를 업데이트하여 GitLab이 프로젝트에 액세스하고 커밋 상태를 업데이트하며 GitLab에 새 커밋을 알리는 웹 훅을 생성할 수 있도록 합니다.
- GitLab에서 프로젝트를 생성하세요:
- 왼쪽 사이드바에서 맨 위에 새로 만들기() 및 새 프로젝트/저장소를 선택하세요.
- 외부 저장소용 CI/CD 실행을 선택하세요.
- GitHub을 선택하세요.
- 개인 액세스 토큰에 토큰을 붙여넣으세요.
- 저장소 목록을 선택하세요.
- 저장소를 선택하려면 연결을 선택하세요.
- GitHub에서 .gitlab-ci.yml을 추가하여 GitLab CI/CD를 구성하세요.
GitLab:
- 프로젝트를 가져옵니다.
- 풀 미러링 활성화합니다.
- GitHub 프로젝트 통합 활성화합니다.
- GitHub에 새 커밋을 GitLab에 알리기 위한 웹 훅을 생성합니다.
수동으로 연결하기
GitLab.com에서 GitHub Enterprise를 사용하려면 이 방법을 사용하세요.
저장소에 대해 수동으로 GitLab CI/CD를 활성화하려면:
- GitHub에서 토큰을 생성하세요:
- https://github.com/settings/tokens/new를 엽니다.
- 개인 액세스 토큰을 생성하세요.
-
토큰 설명을 입력하고
repo
를 허용하도록 스코프를 업데이트하여 GitLab이 프로젝트에 액세스하고 커밋 상태를 업데이트할 수 있도록 합니다.
- GitLab에서 프로젝트를 생성하세요:
- 왼쪽 사이드바에서 맨 위에 새로 만들기() 및 새 프로젝트/저장소를 선택하세요.
- 외부 저장소용 CI/CD 실행 및 URL로 저장소를 선택하세요.
- Git 저장소 URL 필드에 GitHub 저장소의 HTTPS URL을 입력하세요. 프로젝트가 비공개인 경우 인증에 방금 생성한 개인 액세스 토큰을 사용하세요.
- 모든 다른 필드를 작성하고 프로젝트 생성을 선택하세요. GitLab은 자동으로 폴링 기반 풀 미러링을 구성합니다.
- GitLab에서 GitHub 프로젝트 통합을 활성화합니다:
- 왼쪽 사이드바에서 설정 > 통합을 선택하세요.
- 활성 확인란을 선택하세요.
- 개인 액세스 토큰과 HTTPS 저장소 URL을 양식에 붙여넣고 저장을 선택하세요.
- GitLab에서 GitHub 웹 훅을 알리기 위해
API
스코프로 개인 액세스 토큰을 생성하세요. -
GitHub에서 설정 > 웹훅에서 GitLab에 새 커밋을 알리기 위한 웹훅을 생성하세요.
웹 훅 URL은 방금 생성한 GitLab 개인 액세스 토큰을 사용하여 풀 미러링을 시작하는 GitLab API로 설정해야 합니다.
https://gitlab.com/api/v4/projects/<NAMESPACE>%2F<PROJECT>/mirror/pull?private_token=<PERSONAL_ACCESS_TOKEN>
개별 이벤트 선택 옵션을 선택한 후 풀 요청과 푸시 확인란을 선택하세요. 이러한 설정은 외부 풀 요청을 위한 파이프라인에 필요합니다.
- GitHub에
.gitlab-ci.yml
을 추가하여 GitLab CI/CD를 구성하세요.