Gitea에서 GitHub 미러링하는 방법 (Gitea2Github)

Github 미러링 방법 설명전에 Gitea에 관한 이야기부터 조금 하겠습니다.

Gitea은 왜 쓰는데?

4Bay급 Synology NAS 에선, Gitlab이 설치가 되긴 하지만 반응속도도 느리고 리소스(CPU, Ram) 도 꽤 많이 잡아 먹는다. Gitlab을 설치하고 4년정도 흘렀으나 막상 외부 사람과 같이 공유한게 1번이 전부이다보니, Gitlab의 오버스펙이 아쉬운 부분이 들어서 가벼운것을 찾다보니 Gogs와 Gitea가 있었고, 기능적으론 Gitea정도면 충분할것 같아서 Gitea로 세팅을 하게 되었다. 이건 나중에 설치하는 방법에 대해서 적어보겠다. 개인 시놀로지 사용자에게 추천드립니다.

Gitea -> Github 미러링 설치 과정

Gitea는 오픈 소스로 개발된 경량화된 자체 호스팅 Git 서비스이며, GitHub은 가장 인기 있는 Git 호스팅 서비스입니다. 미러링을 통해 Gitea에서 GitHub으로 저장소를 자동으로 동기화할 수 있습니다. 아래 단계를 따라가며 Gitea에서 GitHub으로 미러링을 설정해보세요.

Gitea에서 저장소 생성하기

새 저장소를 만드는 화면
  1. Gitea 웹 인터페이스에 로그인 합니다.
  2. Gitea 대시보드에서 “새 저장소 (New Repository)” 버튼을 클릭하여 새로운 저장소를 생성
  3. 저장소 이름, 설명, 가시성 (공개/비공개) 설정 등을 입력한 후 “저장소 만들기 (Create Repository)” 버튼을 클릭하여 저장소를 생성

GitHub 저장소 준비하기

레포지토리 생성하는 화면
  1. GitHub 웹 인터페이스에 로그인하세요.
  2. GitHub 대시보드에서 “New” 버튼을 클릭하여 새로운 저장소를 생성하세요. 저장소 이름과 설명을 입력하고 “Create Repository” 버튼을 클릭하세요.

Github 액세스 토큰 발생 (선택사항)

Github 액세스 토큰 발급 하는 화면
  1. Github “Settings” 접근후, “Developer Settings” 접근한다. 이후 우측 탭에서 “Personal access tokens” 를 클릭한다. 이후 Tokens (classic) 클릭 (한번에 이동하는 링크)
  2. 우측 상단에 “Generate new token” 클릭한다. 2개의 선택 옵션이 뜨면 “Generate new token(classic)” 을 클릭
  3. 패스워드 확인을 하면 확인해주고, note 부분에 토큰에 대한 정보를 적고, Expiration을 설정해주고 Select scopes는 “repo”에 관해서 전체 체크
  4. 생성된 액세스 토큰을 복사한다. 또는 필요할때 다시 와서 본다.

Gitea에서 GitHub 미러링 설정하기

Github 으로 미러링 설정하는 화면
  1. Gitea 저장소 설정에서 “미러 설정 (Mirror Settings)” 옵션을 찾아 스크롤을 내린다.
  2. “Mirroring URL” 필드에는 GitHub 저장소의 URL을 입력하세요. 예를 들어, https://github.com/사용자명/저장소명.git
  3. 주소 입력창 아래에는 “Authorization” 영역이 있는데, Github 계정명 과 위에서 생성한 액세스 토큰을 “사용자명”, “비밀번호”에 각각 입력한다. (액세스 토큰이 아닌 비밀 번호로도 가능한걸로 알고 있다.)
  4. “Mirror Interval” 필드에선 미러링 간격을 설정해준다. 기본적으로 8시간마다 동기화됩니다.
  5. “Push” 가 이루어질때 갱신을 하고 싶다면, “Sync when commits are pushed” 를 클릭한다.
  6. “Add Push Mirror” 를 누르면 동기화가 진행된다.

미러링 확인하기

미러링 세팅이 정상적으로 된 화면
  1. Gitea 저장소 페이지로 돌아가세요.
  2. 저장소 설정 탭에서 “미러 설정” 영역으로 이동하여 미러링 상태를 확인하세요. 성공적으로 설정되었다면 “Direction” 이 Push로 표시됩니다.
  3. 변경 사항을 미러링하는 데 시간이 걸릴 수 있으므로 몇 분에서 몇 시간이 걸릴 수 있습니다.

이제 Gitea 저장소의 변경 사항은 자동으로 GitHub으로 미러링되며 동기화될 것입니다. 이중으로 소스 관리도 할수 있고, Github Contribution의 commit 잔디도 채울수 있으니 연동해보시면 좋을것 같습니다.

제 잔디는 사막이지만, 잔디를 조금이라도 채워보기 위해 미러링을 하게 되었습니다.

Leave a Comment