GitLab 5.0から 6.0 へアップデート

gitlab6.0

長らくGitLabをアップデートしていなかったので、6.0リリースを機にアップデートする。

環境確認

CentOS6.4+unicorn+Apache+rvm
現状のGitLabのインストール状況をrakeコマンドで確認。

・公式ガイド(5.4から6.0へのアップデートだがほぼ同じ)
https://github.com/gitlabhq/gitlabhq/blob/master/doc/update/5.4-to-6.0.md
・目標
GitLab6.0へアップデートし、動作確認まで。

目次

  1. 6.0で廃止されたものの確認
  2. バックアップ
  3. サーバー停止
  4. GitLab6.0のコードを取得
  5. gitlab-shellのアップデート
  6. gitのバージョンを1.8へ
  7. 追加パッケージのインストール
  8. ライブラリのインストールとマイグレーション
  9. configファイルのアップデート
  10. 起動ファイルのアップデート
  11. gitlab起動
  12. 状態確認

内容

6.0で廃止されたものの確認

Global projectsとTeamsが廃止された。
グローバルネームスペースが廃止されたので、アップデート前にすべてのグローバルプロジェクトを、グループもしくはユーザー以下に手動で移動させないと、アップデートによってグローバルプロジェクトがプロジェクトオーナーのネームスペースに自動的に移動される。プロジェクトが移動されると、そのプロジェクトメンバーはgit remote URLの再設定法が記載されたemailを受信するので、アップデートのテストを行う際は、メール送信機能が無効になっていることを確認すること。

今回、私の環境ではそういったプロジェクトは存在しないので特になにもしない。

 

バックアップ

データベースのバックアップをとる。

するとここで下記のエラーが出た。

よくみるとRVMを使っているのにもかかわらず、なぜかgemファイルの参照先が/usr/local/lib〜となっている。
おそらくこれは、sudoでコマンドを実行したため、gemのパスが変わってしまっているからだ。
というわけでかわりに下記のコマンドを実行。

成功。

※バックアップファイルの出力先は config/gitlab.yml の gitlab.backup.path で指定する。デフォルトは相対パスで tmp/backups となっており、バックアップ実行時にこのディレクトリに repositories, db, uploads ディレクトリが作成されそれぞれが書きだされる。backup_information.yml というファイルにバージョンやバックアップ日時などが書かれ、 {unix_timestamp}__gitlab_backup.tar という tar ファイルにまとめられている。

 

サーバー停止

GitLab6.0のコードを取得

gitlab-shellのアップデート

gitのバージョンを1.8へ

私の環境のgitのバージョンが1.7だったため、ついでにgitもアップデートする。

追加パッケージのインストール

ライブラリのインストールとマイグレーション

bundlerで追加されたライブラリのインストールを行う。
MySQLを利用しているので、下記を実行。

次に以下の rake タスクを実行して各種データのマイグレーションを行う。

redisのキャッシュをクリア

その他

configファイルのアップデート

5.4ではwebサーバーにpumaを使っていたが、6.0からunicornに戻ったのこと。ちょうど、私の環境におけるGitLabのバージョン5.0ではunicornを使っていたので、gitlab.ymlのみ編集を行う。
設定ファイル /home/git/gitlab/config/gitlab.yml を下記リンク先の内容と自分の環境をあわせて作成する。
https://github.com/gitlabhq/gitlabhq/blob/master/config/gitlab.yml.example

主に下記を編集した。

次にunicorn.rbを更新する。

特に変更せずに保存。

※ダウンロード先のバージョンに注意。

起動ファイルのアップデート

ダウンロード先に注意(6.0のinitファイルを)しながら起動ファイルのアップデート。

 

GitLab起動

状態確認

オールグリーンだったのでOK.

ブラウザからアクセスすると無事GitLab6.0が表示された。

以上。

 

追記:

勢いにのってstable版のある6.1までアップデートしようと思ったが、最後の最後でsidekiqが立ち上がらないバグがあるため6.1は使えない。詳しくはこちら

https://github.com/gitlabhq/gitlabhq/issues/5103


投稿者: しんじ

ベトナムでオフショア開発会社経営中 www.bit-vietnam.com 。サービス開発が趣味。web系は主にPHPで、スマホアプリはswiftで。最近はエンジニア向けの英語勉強webアプリ エングリッシュ e-lish.io を作りました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です