ヘッダー画像

【GitLab】アップグレード時のエラー対処法

Git
投稿 2026年1月2日 最終更新 2026年1月2日 専門用語多め

発生した問題

GitLab-eeのlatestイメージを使用していて、イメージを作り直した(タグが最新になった)とき、 起動できなくなりました。

具体的に言うと、18.3.0-ee.0から18.6.0-ee.0にグレードアップする際に問題が発生しました。

特定バージョンを経由してアップグレード

1つ目の問題は18.3.0-ee.0から18.6.0-ee.0にアップグレードするには、
18.5.xを経由しないといけないということです。

ログを確認して見ます。

docker-compose logs gitlab

下記が問題のログです。

gitlab  |   docker exec -it gitlab editor /etc/gitlab/gitlab.rb
gitlab  |   docker restart gitlab
gitlab  | 
gitlab  | 
gitlab  | For a comprehensive list of configuration options please see the Omnibus GitLab readme
gitlab  | https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md
gitlab  | 
gitlab  | 
gitlab  | If this container fails to start due to permission problems try to fix it by executing:
gitlab  | 
gitlab  | 
gitlab  |   docker exec -it gitlab update-permissions
gitlab  |   docker restart gitlab
gitlab  | 
gitlab  | 
gitlab  | Cleaning stale PIDs & sockets
gitlab  | It seems you are upgrading from 18.3.0-ee to 18.6.0.
gitlab  | It is required to upgrade to the latest 18.5.x version first before proceeding.
gitlab  | Please follow the upgrade documentation at https://docs.gitlab.com/ee/update/#upgrade-paths

18.3.0から18.6.0にあげるには、まず18.5.xにあげてね。
って言ってますね。

言われた通り18.5.2-ee.0に変更します。

services:
  gitlab:
    image: gitlab/gitlab-ee:18.5.2-ee.0
    # いろいろ省略
docker-compose down --rmi all
docker-compose up -d

そして、18.6.0-ee.0に変更します。

services:
  gitlab:
    image: gitlab/gitlab-ee:18.6.0-ee.0
    # いろいろ省略
docker-compose down --rmi all
docker-compose up -d

こうすると、この問題は解決しました。

起動コマンド変更

2つ目の問題は起動コマンドが変更になっていたことです。

証明書を独自に使用させるためにentrypointをいじっていた影響で、起動できなくなりました。

ログを確認して見ます。

docker-compose logs gitlab

下記が問題のログです。

gitlab  | sh: 5: /assets/wrapper: not found

docker-compose.yamlは下記のような形です。

services:
  gitlab:
    image: gitlab/gitlab-ee:18.6.0-ee.0
    # いろいろ省略
    entrypoint: >
      sh -c "
        mkdir -p /etc/gitlab/ssl ;
        ln -s /etc/ssl/certs/gitlab/RSA-fullchain.pem /etc/gitlab/ssl/example.com.crt ;
        ln -s /etc/ssl/certs/gitlab/RSA-privkey.pem /etc/gitlab/ssl/example.com.key ;
        /assets/wrapper
      "

「/assets/wrapper」というのが「/assets/init-container」に変更になったみたいです。

ということで、entrypointを下記のように変更してみると、無事起動できました。

services:
  gitlab:
    image: gitlab/gitlab-ee:18.6.0-ee.0
    # いろいろ省略
    entrypoint: >
      sh -c "
        mkdir -p /etc/gitlab/ssl ;
        ln -s /etc/ssl/certs/gitlab/RSA-fullchain.pem /etc/gitlab/ssl/example.com.crt ;
        ln -s /etc/ssl/certs/gitlab/RSA-privkey.pem /etc/gitlab/ssl/example.com.key ;
        /assets/init-container
      "
docker-compose down --rmi all
docker-compose up -d

まとめ

GitLabのマイナーバージョンのバージョンアップで、まさかここまで影響出るとは思いませんでした…。

マイナーバージョンだからと言って、その影響度は開発者に委ねられているので、安易に信用すると危ないですね。

個人で使っていたので適当にバージョン上げましたが、仕事ならしっかり影響調査しましょう。

以上、ここまで見ていただきありがとうございます。

皆さまの快適な開発ライフに、ほんの少しでもお役に立てれば幸いです。

コメント

この記事のコメントはありません。

TOP