GitLab サーバーと Bitbucket クラウドのインテグレーション
Bitbucket.orgをOAuth 2.0プロバイダとして設定することで、Bitbucket.orgアカウントの認証情報を使ってGitLabにサインインすることができます。Bitbucket.orgからプロジェクトをインポートすることもできます。
- Bitbucket.orgをOAuthプロバイダとして使うには、Bitbucket OmniAuthプロバイダのセクションに従ってください。
- Bitbucketからプロジェクトをインポートするには、Bitbucket OmniAuthプロバイダと Bitbucketプロジェクトインポートの両方のセクションに従ってください。
OAuth2.0認証プロバイダとしてBitbucketを使用します。
Bitbucket OmniAuthプロバイダを有効にするには、Bitbucket.orgにアプリケーションを登録する必要があります。Bitbucketは、アプリケーションIDと秘密鍵を生成します。
- Bitbucket.orgにサインインします。
- アプリケーションの登録方法に応じて、ユーザー個人の設定(Bitbucket settings)またはチームの設定(Manage team)に移動します。アプリケーションを個人として登録するか、チームとして登録するかは問題ではありません。
- 左メニューのAccess Management でOAuth を選択します。
- Add consumerを選択します。
-
必要な詳細を入力します:
-
名前これは何でもかまいません。
<Organization>'s GitLab
や<Your Name>'s GitLab
など、わかりやすいものを考えてください。 - アプリケーションの説明:任意です。必要に応じて記入してください。
-
コールバックURL:(GitLabバージョン8.15以降では必須) GitLabインストールへのURL、例えば
https://gitlab.example.com/users/auth
。このフィールドを空にすると、Invalid redirect_uri
メッセージが表示されます。ユーザーの GitLab アカウントが漏洩するOAuth 2 の隠密リダイレクト脆弱性を防ぐために、Bitbucket 認証コールバック URL の最後に/users/auth
を追加してください。 -
URL:
https://gitlab.example.com
のような、GitLabインストールへのURL。
-
名前これは何でもかまいません。
-
少なくとも以下の権限を与えてください:
Account: Email, Read Projects: Read Repositories: Read Pull Requests: Read Issues: Read Wiki: Read and Write
- Save を選択します。
-
新しく作成したOAuthコンシューマーを選択すると、OAuthコンシューマーのリストにキーと シークレットが表示されるはずです。このページを開いたまま設定を続けます。
-
GitLabサーバーで設定ファイルを開きます:
# For Omnibus packages sudo editor /etc/gitlab/gitlab.rb # For installations from source sudo -u git -H editor /home/git/gitlab/config/gitlab.yml
-
Bitbucketプロバイダの設定を追加します:
Linuxパッケージ・インストールの場合:
gitlab_rails['omniauth_providers'] = [ { name: "bitbucket", # label: "Provider name", # optional label for login button, defaults to "Bitbucket" app_id: "<bitbucket_app_key>", app_secret: "<bitbucket_app_secret>", url: "https://bitbucket.org/" } ]
セルフコンパイルによるインストールの場合:
omniauth: enabled: true providers: - { name: 'bitbucket', # label: 'Provider name', # optional label for login button, defaults to "Bitbucket" app_id: '<bitbucket_app_key>', app_secret: '<bitbucket_app_secret>', url: 'https://bitbucket.org/' }
ここで、
<bitbucket_app_key>
は Bitbucket アプリケーションページのキー、<bitbucket_app_secret>
はシークレットです。 - 設定ファイルを保存します。
- 変更を有効にするには、Linuxパッケージを使ってインストールした場合はGitLabを再設定し、セルフコンパイルでインストールした場合は再起動します。
サインインページでは、通常のサインインフォームの下に Bitbucket アイコンが表示されているはずです。アイコンを選択して認証プロセスを開始します。BitbucketはユーザーにサインインとGitLabアプリケーションの作成を求めます。成功すると、ユーザーはGitLabに戻り、サインインします。
Bitbucket プロジェクトのインポート
上記の設定が完了したら、Bitbucket を使って GitLab にサインインし、プロジェクトのインポートを開始します。
Bitbucket からプロジェクトをインポートしたいがサインインは有効にしたくない場合は、管理エリアでサインインを無効にすることができます。