Windows 10に GitLabをインストール


目次

GitLabインストール

WSLにUbuntu 18.04 LTS をインストール

Windows Store から、Ubuntu 18.04 LTSをインストールします。

Ubuntu 20.04 LTS

Windows Storeでは、より新しいUbuntu 20.04 LTSが配布されていますが、GitLabの公式サイトでAll-in-one package として準備されている 18.04 LTSを選んだ方が、トラブルは少ないと思います。

現在(2020/8/9)は、GitLabでUbuntu 20.04LTS用も準備されているようです。

GitLabをインストール

公式サイトのドキュメントに従い、WSLのUbuntu 18.04 LTSに、GitLabをインストールします。

依存パッケージのインストールと設定

sudo apt-get update
sudo apt-get install -y curl openssh-server ca-certificates
メール配信の設定

今回は割愛します。

GitLabパッケージのリポジトリへの追加とインストール

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash

gitlab.example.com は、自身が公開するホスト名に置き換えます。

また、イントラ内であれば、httpでも良いと思います

sudo EXTERNAL_URL="https://gitlab.example.com" apt-get install gitlab-ee
インストールエラー

現在(2020/8/9)、下記エラーが発生していて、インストールが完了できていません。

WSL(2)が絡んだ問題だと思いますが、まだ急がないので直るまで待ちます。

Recipe: gitlab::default
  * service[create a temporary unicorn service] action nothing (skipped due to action :nothing)
  * service[create a temporary puma service] action nothing (skipped due to action :nothing)
  * service[create a temporary actioncable service] action nothing (skipped due to action :nothing)
  * service[create a temporary sidekiq service] action nothing (skipped due to action :nothing)
  * service[create a temporary mailroom service] action nothing (skipped due to action :nothing)
Recipe: package::runit_sysvinit
  * execute[echo 'CS:123456:respawn:/opt/gitlab/embedded/bin/runsvdir-start' >> /etc/inittab] action rungrep: /etc/inittab: No such file or directory

    - execute echo 'CS:123456:respawn:/opt/gitlab/embedded/bin/runsvdir-start' >> /etc/inittab
  * execute[init q] action run
    [execute] Couldn't find an alternative telinit implementation to spawn.

    ================================================================================
    Error executing action `run` on resource 'execute[init q]'
    ================================================================================

    Mixlib::ShellOut::ShellCommandFailed
    ------------------------------------
    Expected process to exit with [0], but received '1'
    ---- Begin output of init q ----
    STDOUT:
    STDERR: Couldn't find an alternative telinit implementation to spawn.
    ---- End output of init q ----
    Ran init q returned 1

    Resource Declaration:
    ---------------------
    # In /opt/gitlab/embedded/cookbooks/cache/cookbooks/package/recipes/runit_sysvinit.rb

     28: execute "init q" do
     29:   action :nothing
     30: end

    Compiled Resource:
    ------------------
    # Declared in /opt/gitlab/embedded/cookbooks/cache/cookbooks/package/recipes/runit_sysvinit.rb:28:in `from_file'

    execute("init q") do
      action [:nothing]
      default_guard_interpreter :execute
      command "init q"
      backup 5
      declared_type :execute
      cookbook_name "package"
      recipe_name "runit_sysvinit"
      domain nil
      user nil
    end

    System Info:
    ------------
    chef_version=14.14.29
    platform=ubuntu
    platform_version=18.04
    ruby=ruby 2.6.6p146 (2020-03-31 revision 67876) [x86_64-linux]
    program_name=/opt/gitlab/embedded/bin/chef-client
    executable=/opt/gitlab/embedded/bin/chef-client

Recipe: gitlab::gitlab-rails
  * execute[clear the gitlab-rails cache] action run (skipped due to not_if)

Running handlers:
There was an error running gitlab-ctl reconfigure:

execute[init q] (package::runit_sysvinit line 28) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '1'
---- Begin output of init q ----
STDOUT:
STDERR: Couldn't find an alternative telinit implementation to spawn.
---- End output of init q ----
Ran init q returned 1

Running handlers complete
Chef Client failed. 109 resources updated in 18 seconds
dpkg: error processing package gitlab-ee (--configure):
 installed gitlab-ee package post-installation script subprocess returned error exit status 1
E: Sub-process /usr/bin/dpkg returned an error code (1)