GitLabサーバーをBitbucket Cloudと連携させます
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab Self-Managed
Bitbucket.orgをOAuth 2.0プロバイダーとして設定し、Bitbucket.orgアカウントの認証情報を使用してGitLabにサインインできます。Bitbucket.orgからプロジェクトをインポートすることもできます。
- Bitbucket.orgをOmniAuthプロバイダーとして使用するには、Bitbucket OmniAuthプロバイダーのセクションを参照してください。
- Bitbucketからプロジェクトをインポートするには、Bitbucket OmniAuthプロバイダーとBitbucketプロジェクトのインポートの両方のセクションを参照してください。
BitbucketをOAuth 2.0認証プロバイダーとして使用する
Bitbucket OmniAuthプロバイダーを有効にするには、Bitbucket.orgにアプリケーションを登録する必要があります。Bitbucketは、使用するアプリケーションIDとシークレットキーを生成します。
Bitbucket.orgにサインインします。
アプリケーションの登録方法に応じて、個々のユーザー設定(Bitbucket settings(Bitbucket設定))またはチームの設定(Manage team(チームの管理))に移動します。アプリケーションが個人として登録されているか、チームとして登録されているかは重要ではありません。それは完全にあなた次第です。
左側のメニューのAccess Management(アクセス管理)で、OAuthを選択します。
Add consumer(コンシューマーを追加)を選択します。
必要な詳細を入力します:
名前: これは何でもかまいません。
<Organization>'s GitLabや<Your Name>'s GitLabなど、わかりやすいものを検討してください。アプリケーションの説明: オプション。必要に応じてここに入力します。
コールバックURL: (GitLabバージョン8.15以降で必須)
https://gitlab.example.com/users/authなどのGitLabインストールのURL。このフィールドを空のままにすると、Invalid redirect_uriメッセージが表示されます。OAuth 2の秘密リダイレクト攻撃を防ぐために、
/users/authをBitbucket認可コールバックURLの末尾に追加します。Bitbucketで認証し、Bitbucketリポジトリからデータをインポートするには、この認可エンドポイントを含める必要があります。URL:
https://gitlab.example.comなどのGitLabインストールのURL。
少なくとも次の権限を付与します:
- アカウント:
Email、Read - プロジェクト:
Read - リポジトリ:
Read - プルリクエスト:
Read - イシュー:
Read - Wiki:
Read and write
- アカウント:
保存を選択します。
新しく作成した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.ymlBitbucketプロバイダーの設定を追加します:
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プロバイダーの設定をSidekiqノードにも含める必要があります。
Bitbucketプロジェクトのインポート
前の設定が完了したら、Bitbucketを使用してGitLabにサインインし、プロジェクトのインポートを開始できます。
Bitbucketからプロジェクトをインポートしたいが、サインインを有効にしたくない場合は、管理者エリアでサインインを無効にすることができます。