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. 왼쪽 메뉴에서 설정 -> 리포지터리를 클릭합니다.
    2. 리포지터리 미러링 옵션 옆의 확장을 클릭합니다.
    3. Git 리포지터리 URL을 미러링할 상위 URL로 설정합니다.
    4. 미러 방향Pull로 변경합니다.
    5. 분기가 이탈한 경우 덮어쓰기 옵션을 선택합니다.
    6. 미러 리포지터리를 추가하려면 리포지터리 미러링을 클릭합니다. 리포지터리 크기에 따라 실행 시간이 수 분 소요될 수 있습니다.
    7. 나중에 필요하므로 이 페이지를 열어둡니다.
  4. build_mirror_bot으로 dev.gitlab.org에 로그인합니다. 로그인 세부 정보는 1Password의 빌드 보안 리포지터리에 있습니다.
  5. 새 프로젝트를 클릭하여 프로젝트를 만듭니다
    1. 프로젝트 이름: 일반적으로 상위 이름과 일치해야 합니다.
    2. 프로젝트 URL: 드롭다운 메뉴의 Groups 하위 그룹에서 omnibus-mirror를 선택합니다.
    3. 가시성 레벨: 이를 Private로 설정합니다.
    4. 남은 옵션은 기본값으로 두고 프로젝트 만들기를 클릭합니다.
  6. omnibus-builder 배포 키를 활성화합니다.
    1. 설정 -> 리포지터리로 이동합니다.
    2. 배포 키 섹션 옆의 확장을 클릭합니다.
    3. 개인 접근 가능한 배포 키 탭을 클릭합니다.
    4. omnibus-builder deploy key를 찾아 옆의 활성화 버튼을 클릭합니다.
  7. 푸시 미러 설정
    1. GitLab.com 프로젝트의 미러링 리포지터리 페이지로 돌아갑니다.
    2. Git 리포지터리 URLhttps://dev.gitlab.org 사이에 build_mirror_bot@을 입력합니다.
    3. 비밀번호에 1Password의 빌드 팀 미러 봇 항목의 PAT을 입력합니다.
    4. 초기화하면서 파일을 생성하는 등의 옵션을 비활성화합니다.
    5. 나머지 옵션은 기본값으로 두고 리포지터리 미러링을 클릭합니다.
    6. 초기 미러링을 트리거하기 위해 지금 업데이트 버튼을 클릭합니다.