GitHub 저장소와 함께 GitLab CI/CD 사용
Offering: GitLab.com, Self-managed, GitLab Dedicated
GitLab CI/CD는 GitHub.com 및 GitHub Enterprise와 함께 사용될 수 있으며,
GitHub 저장소를 GitLab에 연결하기 위해 CI/CD 프로젝트를 생성합니다.
GitHub 저장소와 함께 GitLab CI/CD 파이프라인 사용에 대한 비디오를 시청하세요.
개인 액세스 토큰으로 연결하기
개인 액세스 토큰은 GitHub.com 저장소를 GitLab에 연결하는 데만 사용할 수 있으며,
GitHub 사용자는 소유자 역할을 가져야 합니다.
GitLab이 귀하의 저장소에 접근할 수 있도록 GitHub에서 일회성 권한 부여를 수행하려면:
- GitHub에서 토큰을 생성합니다:
- https://github.com/settings/tokens/new를 엽니다.
- 개인 액세스 토큰을 생성합니다.
-
토큰 설명을 입력하고 GitLab이 귀하의 프로젝트에 접근하고,
커밋 상태를 업데이트하며, 새로운 커밋을 GitLab에 알리기 위해 웹 훅을 생성할 수 있도록
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 프로젝트 통합을 활성화합니다.
- GitHub에서 새로운 커밋을 GitLab에 알리기 위해 웹 훅을 생성합니다.
수동 연결
GitLab.com과 함께 GitHub Enterprise를 사용하려면 이 방법을 사용하세요.
저장소에 대해 GitLab CI/CD를 수동으로 활성화하려면:
- GitHub에서 토큰을 생성합니다:
- https://github.com/settings/tokens/new를 엽니다.
- 개인 액세스 토큰을 생성합니다.
-
토큰 설명을 입력하고 GitLab이 귀하의 프로젝트에 접근하고 커밋 상태를 업데이트할 수 있도록
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 API에 설정해야 하며,
풀 미러링을 트리거하기 위한
방금 생성한 GitLab 개인 액세스 토큰을 사용합니다:https://gitlab.com/api/v4/projects/<NAMESPACE>%2F<PROJECT>/mirror/pull?private_token=<PERSONAL_ACCESS_TOKEN>
Let me select individual events 옵션을 선택한 후 Pull requests 및 Pushes 체크박스를 선택합니다.
이러한 설정은 외부 풀 요청을 위한 파이프라인에 필요합니다. - GitHub에서
.gitlab-ci.yml
파일을 추가하여 GitLab CI/CD를 구성합니다.