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의 빌드 보안글에 있습니다.
  2. 새 프로젝트를 클릭하여 프로젝트를 생성합니다.
    1. 프로젝트 이름: 보통 상위 이름과 일치해야 합니다.
    2. 프로젝트 URL: 드롭다운 메뉴에서 그룹 하위 그룹에서 gitlab-org/build/omnibus-mirror를 선택합니다.
    3. 가시성 수준: 공개로 설정합니다.
    4. 파일을 생성하는 옵션이 있는 경우 비활성화합니다. (예: README.md로 초기화)
    5. 남은 옵션은 기본 상태로 유지하고 프로젝트 생성을 클릭합니다.
  3. 풀 미러 설정
    1. 왼쪽 메뉴의 설정 -> 저장소를 클릭합니다.
    2. 저장소 미러링 옵션 옆의 확장을 클릭합니다.
    3. Git 저장소 URL을 미러링할 상위 URL로 설정합니다.
    4. 미러 방향풀(Pull)로 변경합니다.
    5. Diverged 브랜치 덮어쓰기 옵션을 선택합니다.
    6. 미러링 추가를 위해 저장소 미러링을 클릭합니다. 저장소 크기에 따라 실행하는 데 몇 분이 걸릴 수 있습니다.
    7. 나중에 필요할 수 있으므로 이 페이지를 열어둡니다.
  4. build_mirror_bot으로 dev.gitlab.org에 로그인합니다. 로그인 자세한 사항은 1Password의 빌드 보안글에 있습니다.
  5. 새 프로젝트를 클릭하여 프로젝트를 생성합니다.
    1. 프로젝트 이름: 보통 상위 이름과 일치해야 합니다.
    2. 프로젝트 URL: 드롭다운 메뉴에서 그룹 하위 그룹에서 omnibus-mirror를 선택합니다.
    3. 가시성 수준: 비공개로 설정합니다.
    4. 남은 옵션은 기본 상태로 유지하고 프로젝트 생성을 클릭합니다.
  6. omnibus-builder 배포 키를 활성화합니다.
    1. 설정 -> 저장소로 이동합니다.
    2. 배포 키 영역의 옆의 확장을 클릭합니다.
    3. 비공개 액세스 배포 키 탭을 클릭합니다.
    4. omnibus-builder 배포 키를 찾아 옆의 활성화 버튼을 클릭합니다.
  7. 푸시 미러 설정
    1. GitLab.com 프로젝트의 저장소 미러링 페이지로 돌아갑니다.
    2. Git 저장소 URLhttps://dev.gitlab.org 사이에 build_mirror_bot@을 넣은 dev.gitlab.org의 경로를 입력합니다.
    3. 비밀번호에 1Password의 빌드 팀 미러 봇 항목의 PAT을 입력합니다.
    4. 파일을 생성하는 옵션이 있는 경우 비활성화합니다. (예: README.md로 초기화)
    5. 남은 옵션은 기본 상태로 유지하고 저장소 미러링을 클릭합니다.
    6. 초기 미러링을 트리거하기 위해 지금 업데이트 버튼을 클릭합니다.