Ubuntu 22.10にGitlab-eeをインストールする話
今回は新規にGitlab-eeをインストールするタイミングで最新のUbuntu 22.10(kinetic)にインストールする方法についてまとめます。
基本的にGitlab-eeではLTSのパッケージが公開されている。(はず)なのでインストールしているディストリビューションの近くのLTSを指定すればOKです。
今回の22.10(kinetic)では近い22.04(jammy) LTSを指定すればOKです。
これの方法をまとめました。
実行環境のメモ
とりあえず22.10(kinetic)がインストールされている状態というのを確認します。
wataru@ubuntu:~$ cat /etc/os-release
PRETTY_NAME="Ubuntu 22.10"
NAME="Ubuntu"
VERSION_ID="22.10"
VERSION="22.10 (Kinetic Kudu)"
VERSION_CODENAME=kinetic
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=kinetic
LOGO=ubuntu-logo
wataru@ubuntu:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.10
Release: 22.10
Codename: kinetic
公式のインストール手順でリポジトリを追加する
公式ドキュメントではgitlabのリポジトリを追加するにはcurlでシェルを実行しています。
シェル上でリポジトリのパスを生成しているわけです。
基本的には実行しているディストリビューションを指定しています
https://www.gitlab.jp/install/#ubuntu
実際にこの通りすると…
wataru@ubuntu:~$ curl -s "https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh" | sudo bash
Detected operating system as Ubuntu/kinetic.
Checking for curl...
Detected curl...
Checking for gpg...
Detected gpg...
Running apt-get update... done.
Installing apt-transport-https... done.
Installing /etc/apt/sources.list.d/gitlab_gitlab-ee.list...curl: (22) The requested URL returned error: 404
Unable to download repo config from: https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/config_file.list?os=Ubuntu&dist=kinetic&source=script
This usually happens if your operating system is not supported by
packagecloud.io, or this script's OS detection failed.
You can override the OS detection by setting os= and dist= prior to running this script.
You can find a list of supported OSes and distributions on our website: https://packages.gitlab.com/docs#os_distro_version
For example, to force Ubuntu Trusty: os=ubuntu dist=trusty ./script.sh
If you are running a supported OS, please email support@packagecloud.io and report this.
とコケます
回避方法
回避方法はシンプルです、一つ前のLTSパッケージを指定すればOKです。
一つ前のdist名の抽出は以下のコマンド一発です
wataru@ubuntu:~$ curl https://changelogs.ubuntu.com/meta-release | grep -e Dist -e Version
...
Dist: focal
Version: 20.04.5 LTS
Dist: groovy
Version: 20.10
Dist: hirsute
Version: 21.04
Dist: impish
Version: 21.10
Dist: jammy
Version: 22.04.1 LTS
Dist: kinetic
Version: 22.10
現在利用している22.10(kinetic)の一つ前なので22.04.1 LTS(jammy)を指定します
OSとdistを指定したインストールの方法はコマンドの注意に書いている通りです
wataru@ubuntu:~$ curl -s "https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh" | sudo os=ubuntu dist=jammy bash
Detected operating system as ubuntu/jammy.
Checking for curl...
Detected curl...
Checking for gpg...
Detected gpg...
Running apt-get update... done.
Installing apt-transport-https... done.
Installing /etc/apt/sources.list.d/gitlab_gitlab-ee.list...done.
Importing packagecloud gpg key... done.
Running apt-get update... done.
The repository is setup! You can now install packages.
はい、これで入ります。
アップデートしてリポジトリ内容をチェックすると問題なくインストールできる状態であることが確認できます
wataru@ubuntu:~$ sudo apt-cache showpkg gitlab-ee
...
Provides:
15.6.0-ee.0 -
15.5.4-ee.0 -
15.5.3-ee.0 -
15.5.2-ee.0 -
15.5.1-ee.0 -
15.5.0-ee.0 -
定義ファイルも問題なくjammyを指定しています
wataru@ubuntu:~$ cat /etc/apt/sources.list.d/gitlab_gitlab-ee.list
# this file was generated by packages.gitlab.com for
# the repository at https://packages.gitlab.com/gitlab/gitlab-ee
deb [signed-by=/usr/share/keyrings/gitlab_gitlab-ee-archive-keyring.gpg] https://packages.gitlab.com/gitlab/gitlab-ee/ubuntu/ jammy main
deb-src [signed-by=/usr/share/keyrings/gitlab_gitlab-ee-archive-keyring.gpg] https://packages.gitlab.com/gitlab/gitlab-ee/ubuntu/ jammy main
ちなみに、公開しているリポジトリのバージョンってどうなのかな?と思いましたらリポジトリを直接見ればOKですよ
https://packages.gitlab.com/gitlab/gitlab-ee/
これでインストールできない、ちーん、は回避できますねw
教訓 : ちゃんと注意文言は読みましょう
メモ
インストールしていつも管理者アカウントを忘れます。
管理者アカウントはrootでパスワードは
cat /etc/gitlab/initial_root_password
ででます。