概要
GitHubからCodebergへのリポジトリ移行体験談。 移行作業の難易度とポイントを解説。 イシューやリリースの移行は簡単。 CIやGitHub Pages代替の注意点。 移行後のGitHubリポジトリ管理方法にも言及。
GitHubからCodebergへのリポジトリ移行メモ
- Codeberg へのリポジトリ移行を最近開始
- 長年移行を考えていたが、 Codebergの準備不足 や作業量の多さを理由に先延ばし
- 実際はプロジェクトによって難易度が大きく異なる
イシュー・プルリク・リリースの移行
- Codeberg はGitHubからの リポジトリインポート機能 を提供
- イシュー番号、ラベル、著者情報の維持
- UIもGitHubとほぼ同じで、 移行ハードルが低い
- 他のイシュートラッカーからGitHubへの移行よりも圧倒的に簡単
GitHub Pagesの代替
- codeberg.page で静的サイト公開が可能
- HTMLをブランチにプッシュする運用、GitHub Pagesとほぼ同様
- SLO(稼働率保証)は未提供 だが、現状ダウンタイムは未体験
- 代替案として grebedoc.dev や statichost.eu も利用可能
CI(継続的インテグレーション)の課題
- GitHub Actions は無料macOSランナーや無制限のパブリックリポジトリCIが魅力
- Codebergではこれらを 諦める必要
- Forgejo Actions の自前ランナーを推奨
- UIやYAML構文がGitHub Actionsに酷似
- 既存のActionsエコシステムもほぼそのまま利用可能
- 例:uses: dtolnay/rust-toolchain → uses: https://github.com/dtolnay/rust-toolchain
- Woodpecker CI は安定しているが、GitHubからの移行には Forgejo Actions のほうが馴染みやすい
- macOSランナーが必須の場合はGitHub Actions継続利用+Codebergとの ミラーリング運用 を提案
移行後のGitHubリポジトリ管理
- READMEを更新し、 リポジトリをアーカイブ
- CodebergからGitHubへ新規コミットをプッシュ可能だが、PRやイシューの投稿が可能なまま
- GitHubリポジトリのイシューを無効化すると 全イシューが404化 し、PRは無効化不可
- 一部プロジェクト(例:libvirt/libvirt)は PR自動クローズ用GitHub Action を導入
- 一時的な read-onlyミラー 維持や、GitHub Pages/Actionsの継続利用も選択肢
CI・ホスティング移行に伴うエコシステムへの影響
- GitHub依存のビルドやリリースダウンロード最適化への モチベーション喪失
- ソフトウェアエコシステムの 自己ホスティング推進 課題
- 移行期間中の read-onlyミラー 運用や、必要に応じたGitHubサービスの部分利用推奨