피드로 돌아가기
Hacker NewsDevOps
원문 읽기
GitHub에서 Codeberg로 마이그레이션하는 엔지니어가 저장소 임포트, 정적 호스팅, CI/CD 재구성을 통해 플랫폼 전환 완료
Moving from GitHub to Codeberg, for lazy people
AI 요약
Context
GitHub의 무료 macOS 러너와 공개 저장소의 무제한 용량에 의존해 온 개발자들이 오픈소스 플랫폼인 Codeberg로 마이그레이션하려 하지만, 이슈·풀 리퀘스트·CI/CD 워크플로우 마이그레이션 복잡성을 우려하고 있다.
Technical Solution
- Repository import 기능 활용: GitHub의 이슈, 풀 리퀘스트, 릴리스를 Codeberg 내장 임포터로 원클릭 마이그레이션하며 이슈 번호·라벨·작성자 정보 보존
- 정적 웹사이트 호스팅 전환: GitHub Pages에서 codeberg.page로 변경하여 HTML을 브랜치에 푸시하는 방식 유지
- 대체 정적 호스팅 서비스 검토: grebedoc.dev 또는 statichost.eu 이용 가능
- CI 솔루션 교체: GitHub Actions에서 Forgejo Actions로 마이그레이션하되, YAML 문법 및 액션 호출 방식(uses: https://github.com/...{액션경로})으로 GitHub 에코시스템 재활용
- macOS 빌드 필요 시 하이브리드 접근: Codeberg에서 Forgejo Actions로 GitHub API 폴링하고 GitHub Actions에서 macOS 빌드 실행 후 CI 상태를 Codeberg로 동기화
- 레거시 저장소 관리: GitHub 저장소를 archived 상태로 변경하고 README 업데이트, 또는 GitHub Actions로 자동 PR 종료 구현
Key Takeaway
Codeberg 마이그레이션에서 저장소 데이터(이슈, PR, 릴리스)는 내장 임포터로 간단하게 처리되지만, CI/CD는 무료 macOS 러너 부재와 자체 호스팅 러너 필요로 인해 가장 큰 진입장벽이 되므로, Forgejo Actions의 GitHub 호환성과 크로스 컴파일 검토로 점진적 전환이 가능하다.
실천 포인트
GitHub에서 Codeberg로 마이그레이션하려는 팀이라면, 먼저 Codeberg의 저장소 임포터로 이슈·PR을 일괄 이관하고, Forgejo Actions의 uses: https://github.com/{경로} 문법을 활용해 기존 GitHub 액션을 재사용하되, macOS 빌드가 필수인 경우만 GitHub와 Codeberg를 폴링으로 양방향 동기화하는 하이브리드 CI 구조를 검토하면 마이그레이션 시간을 크게 단축할 수 있다.