本記事はOmnibus GitLab Community EditionをDocker Composeでインストールしている場合のアップグレード手順です。
それ以外の方法でインストールしている場合はFrom 8.17 to 9.0、From 9.5 to 10.0、From 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 |