読者です 読者をやめる 読者になる 読者になる

Nobollel開発者ブログ

Nobollelのエンジニアが、UnityやCocos2d-xの旬な情報・技術を紹介します。

GitLab(Omnibus)のバックアップデータをGoogle Cloud Storageに保存する方法

Google Cloud Platform

こんにちは。清水です。
GitLabにはバックアップデータをリモートストレージに保存する仕組みが備わっています。ググってみると、Amazon S3の情報はよく見かけますが、Google Cloud Storage (GCS) に保存する方法がピンポイントでなかったので、今回この方法を紹介します。

1. アクセスキーを作成する

(1) Google Cloud Platform のコンソール画面より、メニューから 「Storage」を選択
(2) 「設定」を選択
(3) 「相互運用」を選択
(4) 画面下部にある「新しいキーを作成」ボタンをクリック
(5) 表示された「アクセスキー」と「非表示」をメモする

f:id:nobollel:20170203221402p:plain

2. バケットを作成する

(1) Google Cloud Platform のコンソール画面より、メニューから 「Storage」を選択
(2) 「ブラウザ」を選択
(3) 画面上部にある「バケットを作成」ボタンをクリック
(4) 適切なバケット名を設定し、「名前」と「場所」をメモする

f:id:nobollel:20170203214026p:plain

3. GitLabを設定する

(1) GitLabの設定ファイル gitlab.rb を開く

$ sudo vi /etc/gitlab/gitlab.rb

(2) バックアップ用の設定「backup_upload_connection」と「backup_upload_remote_directory」を追加する

gitlab_rails['backup_upload_connection'] = {
  'provider' => 'Google',
  'region' => 'asia-northeast1', # 2.(4)の「場所」項目
  'google_storage_access_key_id' => 'xxxxxxxxxxxxxxxxxxxx', # 1.(5)の「アクセスキー」項目
  'google_storage_secret_access_key' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' # 1.(5)の「非表示」項目
}
gitlab_rails['backup_upload_remote_directory'] = 'nobollel-gitlab' # 2.(4)の「名前」項目

4. GitLabの設定を反映する

$ sudo gitlab-ctl reconfigure

以上で設定は完了です。 GitLabのバックアップを実行し、GCSにバックアップデータが保存されているか確認しましょう。