GitHubのリポジトリをGitLabへインポートする #GitLab #movingtogitlab
この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。
GitLab とは
GitLab は、ソースコード管理を中心に開発サイクルの全体(チャット、問題、コードレビュー、CI、CD、サイクルアナリティクス)を統一した UI で提供するプロダクトです。
一般的に GitLab というと GitHub クローンという印象が濃いですが、オープンソースで精力的な開発が行われていて、現在は GitHub で利用できる機能はほぼ GitLab でも利用できます。
GitHub と GitLab での用語の違いについて
GitHub と GitLab では、同等の機能であってもその用語が異なっている場合があります。
このことは、 GitLab を使いはじめる、 GitHub ユーザーを困惑させます。
以下は、 GitHub と GitLab で用語が異なる、代表的な例です。
GitHub | GitLab |
---|---|
Repository | Project |
Pull request | Merge request |
Organization | Group |
Gist | Snippet |
Project | Board |
GitLab.com について
簡単に説明すると、GitLab.com は SaaS 版の GitLab です。
GitLab はオンプレミスにセルフホスティングして利用するイメージが強いですが、クラウドサービスの GitLab.com も提供されています。
GitLab.com にはいくつかのプランが用意されていますが、基本機能は無料の Free プランで利用することができます。
また、Free プランであっても public プロジェクトであれば、最上位の Gold プランと同等の機能を利用することができます。
以下は、GitLab.com のすべてのプランに共通する特徴です。
- プライベートプロジェクト数の制限なし
- コラボレーター数の制限なし
- CIパイプラインを無料で利用可能(プランにより実行時間の上限が異なる)
Free プランと上位プランの違いの詳細は、公式サイトを参照してください。
リポジトリのインポート機能について
GitLab には、外部の Git リポジトリをインポートする機能があり、簡単なステップでリポジトリを移行できます。
GitHub、Bitbucket、Google Code、Fogbugz、Gitea、リポジトリ URL に対応しています。
このインポート機能を利用すると、リポジトリ以外にも様々なデータを簡単にインポートすることができます。
例えば、GitHub のインポート機能では次のデータがインポートされます。
- Repository description
- Git repository data
- Issue
- Pull request
- Wiki page
- Milestone
- Label
- Release note descriptions
- Pull requestのレビューコメント
- IssueおよびPull requestの通常コメント
インポートした Issue と Pull request への参照は保持されます。
また、インポートしたリポジトリの可視性は private となるので、必要に応じて public に変更してください。
なお、リポジトリのインポートは、セルフホスティングしている場合でも、クラウドサービスを利用している場合でも利用できますが、本記事ではクラウドサービスを利用している場合のインポート方法を紹介します。
GitLab.com の利用を開始する
リポジトリをインポートするには、まず GitLab.com の利用を開始する必要があります。
そのために、通常は GitLab.com のトップページの https://gitlab.com へアクセスすると思いますが、ログインがしていない状態ではコーポレートサイトの https://about.gitlab.com へリダイレクトされてしまいます。
ここから GitLab.com の「サインイン/ユーザー登録」に進むには、画面右上の「Sign In/Register」をクリックしてください。
ちなみに、 GitLab は GitHub アカウントでのサインインにも対応しています。 GitHub アカウントでサインインするには、サインイン画面の GitHub のアイコンをクリックしてください。
GitHub アカウントを使用せずに、GitLab アカウントを作成したい場合はサインイン画面の「Register」タブをクリックしユーザー登録を行ってください。
ユーザー登録後、しばらく待つと登録したアドレスにメール届くので、メール内にあるリンクをクリックしてアカウントを有効化してください。
また、初回サインインの時だけサービス利用規約への同意が求められます。リンク先の利用規約を確認の上、問題がなければ「Accept terms」をクリックしてください。
GitHub のリポジトリをインポートする
GitHub のリポジトリを GitLab にインポートするには、まず画面上部の「New project」をクリックします。
続いて、プロジェクトの作成画面の「Import project」タブ -> 「GitHub」をクリックします。
GitHub のリポジトリを GitLab にインポートするには、 GitHub のリポジトリを GitLab から取得することを許可する必要があります。
そのため、「List your GitHub repositories」をクリックし、 GitLab が GitHub のリポジトリにアクセスすることを許可してください。
GitHub のリポジトリへのアクセスを許可すると、インポートできるリポジトリの一覧が表示されます。
すべてのリポジトリを一括でインポートする場合は、「(1)Import all repositories」をクリックしてください。
特定のリポジトリのみをインポートする場合は、対象リポジトリの「(2)Import」をクリックしてください。
サーバーの混雑状況によっては、インポート処理が完了するまでに数時間かかる場合があるので、処理が完了するまで気長に待ちましょう。
インポートが完了したら、 Git repository data や Issue などの必要なデータが正しくインポートされていることを確認しておきましょう。
なお、インポート元の GitHub のリポジトリが Public の場合でも、インポートされた GitLab のプロジェクトはすべて Private となります。
もしインポートしたプロジェクトをメンバー以外にも公開したい場合は、「Settings -> General -> Permissions -> Project visibility」を Public に変更してください。
最後に
今回、 GitHub のリポジトリをクラウドサービスの GitLab.com にインポートする方法を紹介しましたが、もちろん、セルフホスティングしている GitLab インスタンスにも同じようにインポートすることが可能です。
GitHub のリポジトリを GitLab にインポートするのはとても簡単なので、普段は GitHub を使っているけど GitLab にも興味があるという方は、とりあえず試してみてはいかがでしょうか?
また、クリエーションラインは、日本で唯一の GitLab Authorized Reseller としてエンタープライズエディションのサブスクリプションの販売や日本語でのサポートを提供しています。
GitLab に関する詳細・お問い合わせはこちらを参照ください。