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

ででます。