omnibus-mirror

빌드 및 릴리스 프로세스 중 외부 리소스에 대한 의존성을 최소화하기 위해, 우리는 GitLab 리소스 내에서 다양한 소프트웨어 종속성의 미러를 유지하고 있습니다.

이 시스템은 GitLab.com의 그룹과 dev.gitlab.org의 두 개 그룹으로 구성되어 있습니다.

  1. GitLab.com 프로젝트

    1. 상위 소스의 미러를 가져와서 해당 dev.gitlab.org 프로젝트로 푸시합니다.
    2. 공개적으로 액세스 가능해야 합니다. trigger-package 파이프라인 및 커뮤니티 개발자들이 사용자 정의 omnibus-gitlab 패키지를 빌드하는 데 사용할 수 있어야 합니다.
  2. dev.gitlab.org 프로젝트

    1. dev.gitlab.org의 파이프라인은 이러한 프로젝트를 사용하여 omnibus-gitlab 프로젝트를 빌드합니다. 이에는 패키지 릴리스 및 GitLab 팀 멤버가 모든 지원 플랫폼용 사용자 정의 omnibus-gitlab 패키지를 빌드하는 데 사용되는 빌드가 포함됩니다.

프로젝트 추가

  1. gitlab-omnibus-mirror-bot으로 GitLab.com에 로그인합니다. 로그인 세부 정보는 1Password의 빌드 보안 저장소에 있습니다.
  2. 새 프로젝트를 클릭하여 프로젝트를 생성합니다.
    1. 프로젝트 이름: 일반적으로 상위 이름과 일치해야 합니다.
    2. 프로젝트 URL: 드롭다운에서 Groups 하위 그룹에서 gitlab-org/build/omnibus-mirror를 선택합니다.
    3. 가시성 수준: Public으로 설정합니다.
    4. README.md와 같은 파일을 생성할 수 있는 옵션은 비활성화합니다.
    5. 나머지 옵션은 기본값으로 유지한 채 프로젝트 만들기를 클릭합니다.
  3. 풀 미러 설정
    1. 왼쪽 메뉴에서 Settings -> Repository를 클릭합니다.
    2. Mirroring repositories 옵션 옆의 Expand를 클릭합니다.
    3. Git repository URL을 미러링할 상위 URL로 설정합니다.
    4. Mirror directionPull로 변경합니다.
    5. Overwrite diverged branches 옵션을 선택합니다.
    6. 풀 미러를 추가하려면 Repository 미러링을 클릭합니다. 저장소의 크기에 따라 실행 시간이 몇 분 정도 걸릴 수 있습니다.
    7. 나중에 필요하므로 이 페이지를 열어둡니다.
  4. build_mirror_bot으로 dev.gitlab.org에 로그인합니다. 로그인 세부 정보는 1Password의 빌드 보안 저장소에 있습니다.
  5. 새 프로젝트를 클릭하여 프로젝트를 생성합니다.
    1. 프로젝트 이름: 일반적으로 상위 이름과 일치해야 합니다.
    2. 프로젝트 URL: 드롭다운에서 Groups 하위 그룹에서 omnibus-mirror를 선택합니다.
    3. 가시성 수준: Private으로 설정합니다.
    4. 나머지 옵션은 기본값으로 유지한 채 프로젝트 만들기를 클릭합니다.
  6. omnibus-builder 배포 키를 활성화합니다.
    1. Settings -> Repository로 이동합니다.
    2. Deploy Keys 섹션 옆의 Expand를 클릭합니다.
    3. Privately accessible deploy keys 탭을 클릭합니다.
    4. omnibus-builder deploy key를 찾아 옆의 Enable 버튼을 클릭합니다.
  7. 푸시 미러 설정
    1. GitLab.com 프로젝트의 Mirroring repositories 페이지로 돌아갑니다.
    2. Git repository URLhttps://dev.gitlab.org 사이에 build_mirror_bot@를 삽입한 dev.gitlab.org의 경로를 입력합니다.
    3. Password에 1Password의 빌드 보안 저장소의 Build Team Mirror Bot 항목에서 가져온 PAT를 입력합니다.
    4. README.md와 같은 파일을 생성할 수 있는 옵션은 비활성화합니다.
    5. 나머지 옵션은 기본값으로 유지한 채 Mirror repository를 클릭합니다.
    6. 초기 미러링을 트리거하기 위해 지금 업데이트 버튼을 클릭합니다.