都内SEのプログラミング勉強と雑記

2008年より都内でSEをしてます。業務システムをリプレイスし続けてきました。ここでは主にjavaやその周辺技術関連を紹介予定。学ぶことリスト:https://docs.google.com/spreadsheets/d/1G4lUqbHxsMf4PGgeRVe1ZL3JTOjlSTrqsJYe1CKz9UY/edit?usp=sharing

GitLabのリポジトリをGitHubへmirroring同期

f:id:object1985:20210818185226p:plain

かなり長いことGitLabでソース管理していました(といってもどれも中途半端&ほとんと触っていないですが・・・)

そんな状況で、各種のGitホスティングサービスと連携するサービスが大抵GitHub、GitLabが何かと連携するサービスはあまり目にしていません。

そこでタイトル通り、GitHubへと同期することにしました。

以下一例。

作成済みのGitLabリポジトリ( https://gitlab.com/tonaise/autoguitestsample )をGitHubへ同期する。

まずmirroring先のGitHubリポジトリを作成。GitLabと同じ名前としました。

f:id:object1985:20210818183544p:plain

Newボタンをポチ。

f:id:object1985:20210818183644p:plain

同じ名称のリポジトリ名と説明を記載(画像では作成後に同じ流れで画像をとったのでエラーになっています)

同期する際の認証tokenを取得。

事前に2要素認証を済ませておく => 2 要素認証を設定する - GitHub Docs

GitHub右上のアカウントアイコンをクリックしてメニューからSettingsへ

Developer settings > Personal access tokens の順にクリック

f:id:object1985:20210818184120p:plain

Generate new Tokenボタンを押す

f:id:object1985:20210818184210p:plain

何用かをNoteへ、期限を選択。正直1回同期されればGitHubへ移行を考えているので最小の7 daysでもよかったです。

後は権限(scopes)を選択。repoとworkflowとpackageがあれば大丈夫です。

f:id:object1985:20210818184605p:plain

こんな画面がでたらtoken作成は成功。コピーしておく。

以降はGitLabへ。

f:id:object1985:20210818184744p:plain

作成済みのGitLabリポジトリ

Repository > Mirroring repositories に以下を設定。

Git repository URL:GitHubのURL。 https:// のあとにユーザ名@をつける。

Mirror direction:GitLabからGitHubなのでPush

Authentication method:Password。いじらず。

Password:ここにGitHubで作成したtokenを設定。

これで5分に1回同期、または更新アイコンをクリックすると手動同期が走る。

エラーのときは画面上のErrorラベルにマウスカーソルを合わせると原因など教えてくれる。

エラーのときはたいてい認証周りで失敗するかと。

おわり。

follow us in feedly