かなり長いことGitLabでソース管理していました(といってもどれも中途半端&ほとんと触っていないですが・・・)
そんな状況で、各種のGitホスティングサービスと連携するサービスが大抵GitHub、GitLabが何かと連携するサービスはあまり目にしていません。
そこでタイトル通り、GitHubへと同期することにしました。
以下一例。
作成済みのGitLabリポジトリ( https://gitlab.com/tonaise/autoguitestsample )をGitHubへ同期する。
まずmirroring先のGitHubリポジトリを作成。GitLabと同じ名前としました。
Newボタンをポチ。
同じ名称のリポジトリ名と説明を記載(画像では作成後に同じ流れで画像をとったのでエラーになっています)
同期する際の認証tokenを取得。
事前に2要素認証を済ませておく => 2 要素認証を設定する - GitHub Docs
GitHub右上のアカウントアイコンをクリックしてメニューからSettingsへ
Developer settings > Personal access tokens の順にクリック
Generate new Tokenボタンを押す
何用かをNoteへ、期限を選択。正直1回同期されればGitHubへ移行を考えているので最小の7 daysでもよかったです。
後は権限(scopes)を選択。repoとworkflowとpackageがあれば大丈夫です。
こんな画面がでたらtoken作成は成功。コピーしておく。
以降はGitLabへ。
作成済みのGitLabリポジトリで
Repository > Mirroring repositories に以下を設定。
Git repository URL:GitHubのURL。 https://
のあとにユーザ名@をつける。
Mirror direction:GitLabからGitHubなのでPush
Authentication method:Password。いじらず。
Password:ここにGitHubで作成したtokenを設定。
これで5分に1回同期、または更新アイコンをクリックすると手動同期が走る。
エラーのときは画面上のErrorラベルにマウスカーソルを合わせると原因など教えてくれる。
エラーのときはたいてい認証周りで失敗するかと。
おわり。