/var/log/study

つまり雑記

Gitlab Development Kit のテストを回せるようにするための覚書

gitlab.com

↑ に沿えば良いのだけど、多分gitlab development kit (以下gdk) は普段の開発用ラップトップに導入される事をある程度前提としていると思う。

なので、クラウド上に作ったまっさらでしょぼいUbuntuとかにインストールしてもさくっとは動作しないので、セットアップ前後のフォローをこの記事でしたい。

この記事は2018年3月26日に書いている事に注意して頂きたい。

マシンスペック

gitlab自体を動かすrequirementsは以下に書いてある。

docs.gitlab.com

が、あまりにもしょぼいサーバーで bundle exec spec とかやり始めると、色々不都合が多い。

自分が用意した環境は以下

  • マシン
    • VMwareのESXi上に構築
    • ディスクはNFSのHDD
  • OS
  • CPU
    • 4vCPU
    • テストを回している最中のtopやvmstatを見ると、2vCPUでも大丈夫かなぁ?と言う気持ち
  • Memory
    • 16GB
    • swapが出ないように16GBにしたが、もう少しだけ絞っても大丈夫そう
  • Disk
    • 64GB
    • 容量的にギリギリっぽい
    • IOは特に問題にならない模様

set-up-gdk の前にやっておく必要があること

  1. rbenvなどでrubyのランタイムを用意
    • この記事を書いている時点では version 2.3.6
    • rbenv global 2.3.6
    • gem install bundler
  2. nodenvなどでnode.jsのランタイムの用意
    • この記事を書いている時点では version 8.9.4
    • nodenv global 8.9.4
    • npm install -g yarn
  3. chromeのインストール
    • その時の最新で良いと思う
  4. seleniumのchromedriverをインストール
  5. 必要なpostgresqlのバージョンをインストール
    • pg_config コマンドで表示されるバージョンがgitlabの利用するpostgresqlのバージョンとなる
    • pg_configpostgresql-server-dev というパッケージが提供するコマンド
    • postgresqlpostgresql-server-dev でバージョンがずれていないか意識する必要がある

テストを実行するには

  • gitlab-development-kit 配下で
    • gdk run
  • 別端末なりtmuxでの分割なりで
    • seleniumのchromedriverを動かす
      • chromedriver
  • 別端末なりtmuxでの分割なりで
    • gitlab-development-kit/gitlab 配下で
      • selenium周りで問題が無いかチェックする
        • bundle exec rspec spec/features/merge_requests/filters_generic_behavior_spec.rb
      • rspecのテストを回す
        • bundle exec spec