Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

GitLabのメジャーバージョンアップグレード方法(8~11対応)

More than 1 year has passed since last update.

インストール記事はこちら

本記事はOmnibus GitLab Community EditionをDocker Composeでインストールしている場合のアップグレード手順です。
それ以外の方法でインストールしている場合はFrom 8.17 to 9.0From 9.5 to 10.0From 10.8 to 11.0をご覧ください。

Step 1. コンテナを停止する

$ docker-compose stop

※ バックアップしたい場合はコンテナ停止前にしてください。

$ docker exec -t <container name> gitlab-rake gitlab:backup:create

バックアップ対象をスキップすることもできます

$ docker exec -t <container name> gitlab-rake gitlab:backup:create SKIP=db,uploads,repositories ,builds,artifacts,lfs,registry,pages

参考: Creating backups for GitLab instances in Docker containers

さらにバックアップファイルをホスト側にコピーしたい場合は以下を実行してください。

user@host ~ $ docker exec -t <container name> ls /var/opt/gitlab/backups
1491273987_gitlab_backup.tar
user@host ~ $ docker cp <container name>:/var/opt/gitlab/backups/1491273987_gitlab_backup.tar .

Step 2. イメージをpullする

$ docker-compose pull

※ バージョン固定している場合はpullする前にdocker-compose.ymlのイメージタグを編集してください。
メジャーバージョンをまたぐ時は1.x.xずつ増やした方がよさそうです。
最新のタグ名をこちらで確認してください。

docker-compose.yml
-    image: gitlab/gitlab-ce:8.17.0-ce.0
+    image: gitlab/gitlab-ce:9.0.0-ce.0

-    image: gitlab/gitlab-ce:9.5.0-ce.0
+    image: gitlab/gitlab-ce:10.0.0-ce.0

-    image: gitlab/gitlab-ce:10.8.0-ce.0
+    image: gitlab/gitlab-ce:11.0.0-ce.0

Step 3. コンテナを再生成して起動する

$ docker-compose up -d

以上

※ 8.xから9.0でCI変数名が変わっているのでご確認ください。

8.x 9.0+
CI_BUILD_ID CI_JOB_ID
CI_BUILD_REF CI_COMMIT_SHA
CI_BUILD_TAG CI_COMMIT_TAG
CI_BUILD_REF_NAME CI_COMMIT_REF_NAME
CI_BUILD_REF_SLUG CI_COMMIT_REF_SLUG
CI_BUILD_NAME CI_JOB_NAME
CI_BUILD_STAGE CI_JOB_STAGE
CI_BUILD_REPO CI_REPOSITORY_URL
CI_BUILD_TRIGGERED CI_PIPELINE_TRIGGERED
CI_BUILD_MANUAL CI_JOB_MANUAL
CI_BUILD_TOKEN CI_JOB_TOKEN

https://docs.gitlab.com/ce/ci/variables/#9-0-renaming

boiyama
平日はソフトウェアエンジニア。休日はPTA役員。
repro
世界59か国6,500以上の導入実績を持つCE(カスタマーエンゲージメント)プラットフォーム「Repro(リプロ)」を提供
https://repro.io/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away