omnibus-mirror

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

시스템은 GitLab.com에 있는 하나의 그룹과 dev.gitlab.org에 있는 다른 그룹으로 구성됩니다.

  1. GitLab.com 프로젝트

    1. 업스트림 소스의 풀 미러를 생성하고, 해당 dev.gitlab.org 프로젝트로 푸시 미러를 유지합니다.
    2. 공개적으로 사용 가능. trigger-package 파이프라인과 커뮤니티 개발자가 사용자 정의 omnibus-gitlab 패키지를 빌드하는 데 사용할 수 있어야 합니다.
  2. dev.gitlab.org 프로젝트: https://dev.gitlab.org/omnibus-mirror

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

프로젝트 추가하기

  1. gitlab-omnibus-mirror-bot로 GitLab.com에 로그인합니다. 로그인 세부 정보는 1Password의 Build vault에 있습니다.
  2. 새 프로젝트를 클릭하여 프로젝트를 생성합니다.
    1. 프로젝트 이름: 일반적으로 업스트림 이름과 일치해야 합니다.
    2. 프로젝트 URL: 드롭다운에서 Groups 하위 그룹의 gitlab-org/build/omnibus-mirror를 선택합니다.
    3. 가시성 수준: 이를 공개로 설정합니다.
    4. README.md로 초기화하는 것과 같이 파일을 생성할 수 있는 모든 옵션을 비활성화합니다.
    5. 나머지 옵션은 기본값으로 두고 프로젝트 생성을 클릭합니다.
  3. 풀 미러를 설정합니다.
    1. 왼쪽 메뉴에서 설정 -> 리포지토리를 클릭합니다.
    2. 미러링 리포지토리 옵션 옆의 확장을 클릭합니다.
    3. Git 리포지토리 URL을 우리가 미러링할 업스트림 URL로 설정합니다.
    4. 미러 방향Pull로 변경합니다.
    5. 분기 간섭 오버라이트 옵션을 선택합니다.
    6. 미러 리포지토리를 클릭하여 풀 미러를 추가합니다. 리포지토리의 크기에 따라 몇 분이 걸릴 수 있습니다.
    7. 나중에 필요하므로 이 페이지를 열어 둡니다.
  4. build_mirror_bot으로 dev.gitlab.org에 로그인합니다. 로그인 세부 정보는 1Password의 Build vault에 있습니다.
  5. 새 프로젝트를 클릭하여 프로젝트를 생성합니다.
    1. 프로젝트 이름: 일반적으로 업스트림 이름과 일치해야 합니다.
    2. 프로젝트 URL: 드롭다운에서 Groups 하위 그룹의 omnibus-mirror를 선택합니다.
    3. 가시성 수준: 이를 비공개로 설정합니다.
    4. 나머지 옵션은 기본값으로 두고 프로젝트 생성을 클릭합니다.
  6. omnibus-builder 배포 키를 활성화합니다.
    1. 설정 -> 리포지토리로 이동합니다.
    2. 배포 키 섹션 옆의 확장을 클릭합니다.
    3. 비공식적으로 접근 가능한 배포 키 탭을 클릭합니다.
    4. omnibus-builder deploy key를 찾아 옆의 활성화 버튼을 클릭합니다.
  7. 푸시 미러를 설정합니다.
    1. GitLab.com 프로젝트의 미러링 리포지토리 페이지로 돌아갑니다.
    2. Git 리포지토리 URLbuild_mirror_bot@https://dev.gitlab.org 사이에 삽입하여 dev.gitlab.org의 경로를 입력합니다.
    3. 비밀번호에 1Password의 Build Team Mirror Bot 항목에서 PAT을 입력합니다.
    4. README.md로 초기화하는 것과 같이 파일을 생성할 수 있는 모든 옵션을 비활성화합니다.
    5. 나머지 옵션은 기본값으로 두고 미러 리포지토리를 클릭합니다.
    6. 초기 미러링을 트리거하기 위해 지금 업데이트 버튼을 클릭합니다.