BETA

GitLabのアップデートをする その2

投稿日:2019-07-07
最終更新:2019-07-07
※この記事は外部サイト(https://labor.ewigleere.net/2019/07/07/git...)からのクロス投稿です

一番最初にテスト用に建てたGitLabサーバのアップデートを行ったのでメモ。

手順は以前のときとほぼ一緒で、バックアップを取ってから段階的にアップデートを実行した形です。

アップデート前のバージョンは10.0.2-eeです。では、やってみましょう。

まずはバックアップを取って。

# gitlab-rake gitlab:backup:create STRATEGY=copy  
Dumping database ...  
Dumping PostgreSQL database gitlabhq_production ... [DONE]  
done  
Dumping repositories ...  

## 略  

Creating backup archive: 1562458541_2019_07_07_10.0.2-ee_gitlab_backup.tar ... done  
Uploading backup archive to remote storage  ... skipped  
Deleting tmp directories ... done  
done  
done  
done  
done  
done  
done  
done  
Deleting old backups ... skipping  

バージョン一覧を表示。

# yum list --showduplicates gitlab-ee  
読み込んだプラグイン:fastestmirror, langpacks  
Loading mirror speeds from cached hostfile  
 * base: ftp.riken.jp  
 * epel: ftp.riken.jp  
 * extras: ftp.riken.jp  
 * remi-safe: ftp.riken.jp  
 * updates: ftp.riken.jp  
インストール済みパッケージ  
gitlab-ee.x86_64             10.0.2-ee.0.el7                   @gitlab_gitlab-ee  
利用可能なパッケージ  
gitlab-ee.x86_64             7.11.2~ee.omnibus-1               gitlab_gitlab-ee  
gitlab-ee.x86_64             7.11.3~ee.omnibus-1               gitlab_gitlab-ee  

## 略  

gitlab-ee.x86_64             12.0.2-ee.0.el7                   gitlab_gitlab-ee  
gitlab-ee.x86_64             12.0.3-ee.0.el7                   gitlab_gitlab-ee  

相変わらず大量にありますね……って、いつの間にか12も出ている?!

落ち着いて段階を踏んでアップデートを行います。まずは10.8.0-ee.0.el7へ。

# yum install gitlab-ee-10.8.0-ee.0.el7  
読み込んだプラグイン:fastestmirror, langpacks  
gitlab_gitlab-ee/x86_64/signature                        |  836 B     00:00  
gitlab_gitlab-ee/x86_64/signature                        | 1.0 kB     00:00 !!!  
gitlab_gitlab-ee-source/signature                        |  836 B     00:00  
gitlab_gitlab-ee-source/signature                        |  951 B     00:00 !!!  
Loading mirror speeds from cached hostfile  
 * base: ftp.riken.jp  
 * epel: ftp.riken.jp  
 * extras: ftp.riken.jp  
 * remi-safe: ftp.riken.jp  
 * updates: ftp.riken.jp  
依存性の解決をしています  
--> トランザクションの確認を実行しています。  
---> パッケージ gitlab-ee.x86_64 0:10.0.2-ee.0.el7 を 更新  
---> パッケージ gitlab-ee.x86_64 0:10.8.0-ee.0.el7 を アップデート  
--> 依存性解決を終了しました。  

依存性を解決しました  

================================================================================  
 Package        アーキテクチャー  
                            バージョン              リポジトリー           容量  
================================================================================  
更新します:  
 gitlab-ee      x86_64      10.8.0-ee.0.el7         gitlab_gitlab-ee      414 M  

トランザクションの要約  
================================================================================  
更新  1 パッケージ  

総ダウンロード容量: 414 M  
Is this ok [y/d/N]: y  
Downloading packages:  
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.  
gitlab-ee-10.8.0-ee.0.el7. 1% [                 ] 706 kB/s | 6.8 MB   09:50 ETA  

## 略  

Running handlers:  
Running handlers complete  
Chef Client finished, 59/586 resources updated in 02 minutes 06 seconds  
gitlab Reconfigured!  
Checking for an omnibus managed postgresql: OK  
Checking for a newer version of PostgreSQL to install  
No new version of PostgreSQL installed, nothing to upgrade to  
Ensuring PostgreSQL is updated: OK  
Restarting previously running GitLab services  
ok: run: gitaly: (pid 14579) 3s  
ok: run: gitlab-monitor: (pid 14662) 0s  
ok: run: gitlab-workhorse: (pid 14565) 4s  
ok: run: logrotate: (pid 14665) 0s  
ok: run: nginx: (pid 14667) 0s  
ok: run: node-exporter: (pid 14669) 0s  
ok: run: postgres-exporter: (pid 14641) 2s  
ok: run: postgresql: (pid 14360) 109s  
ok: run: prometheus: (pid 14595) 3s  
ok: run: redis: (pid 14345) 111s  
ok: run: redis-exporter: (pid 14690) 0s  
ok: run: sidekiq: (pid 14692) 0s  
ok: run: unicorn: (pid 14694) 0s  

     _______ __  __          __  
    / ____(_) /_/ /   ____ _/ /_  
   / / __/ / __/ /   / __ `/ __ \  
  / /_/ / / /_/ /___/ /_/ / /_/ /  
  \____/_/\__/_____/\__,_/_.___/  


Upgrade complete! If your GitLab server is misbehaving try running  
  sudo gitlab-ctl restart  
before anything else.  
If you need to roll back to the previous version you can use the database  
backup made during the upgrade (scroll up for the filename).  

  検証中                  : gitlab-ee-10.8.0-ee.0.el7.x86_64                1/2  
  検証中                  : gitlab-ee-10.0.2-ee.0.el7.x86_64                2/2  

更新:  
  gitlab-ee.x86_64 0:10.8.0-ee.0.el7  

完了しました!  

OKです。次は11以上になるので、service_allowed_untrusted_internal_connectionsパラメータをJSON設定ファイルから削除しましょう。

# vi /opt/gitlab/embedded/nodes/GITLAB.HOSTMACHINE.NAME.json  

"mattermost": {  
//略  
      "service_enable_insecure_outgoing_connections": false,  
      "service_allowed_untrusted_internal_connections": null, //削除  
      "service_allow_cors_from": null,  

GITLAB.HOSTMACHINE.NAME.jsonの部分はご自身のホスト名で。

今回は1つしかありませんでした。

これで11.0.4-ee.0.el7にアップデートしてみます。

# yum install gitlab-ee-11.0.4-ee.0.el7  
読み込んだプラグイン:fastestmirror, langpacks  
gitlab_gitlab-ee/x86_64/signature                        |  836 B     00:00  
gitlab_gitlab-ee/x86_64/signature                        | 1.0 kB     00:00 !!!  
gitlab_gitlab-ee-source/signature                        |  836 B     00:00  
gitlab_gitlab-ee-source/signature                        |  951 B     00:00 !!!  
Loading mirror speeds from cached hostfile  
 * base: ftp.riken.jp  
 * epel: ftp.riken.jp  
 * extras: ftp.riken.jp  
 * remi-safe: ftp.riken.jp  
 * updates: ftp.riken.jp  
依存性の解決をしています  
--> トランザクションの確認を実行しています。  
---> パッケージ gitlab-ee.x86_64 0:10.8.0-ee.0.el7 を 更新  
---> パッケージ gitlab-ee.x86_64 0:11.0.4-ee.0.el7 を アップデート  
--> 依存性解決を終了しました。  

依存性を解決しました  

================================================================================  
 Package        アーキテクチャー  
                            バージョン              リポジトリー           容量  
================================================================================  
更新します:  
 gitlab-ee      x86_64      11.0.4-ee.0.el7         gitlab_gitlab-ee      475 M  

トランザクションの要約  
================================================================================  
更新  1 パッケージ  

総ダウンロード容量: 475 M  
Is this ok [y/d/N]: y  
Downloading packages:  
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.  
gitlab-ee-11.0.4-ee.0.el7. 1% [                 ] 694 kB/s | 9.2 MB   11:27 ETA  

## 略  

ok: run: alertmanager: (pid 19137) 0s  
ok: run: gitaly: (pid 19088) 3s  
ok: run: gitlab-monitor: (pid 19140) 0s  
ok: run: gitlab-workhorse: (pid 19074) 4s  
ok: run: logrotate: (pid 19147) 0s  
ok: run: nginx: (pid 19149) 0s  
ok: run: node-exporter: (pid 19151) 0s  
ok: run: postgres-exporter: (pid 19154) 0s  
ok: run: postgresql: (pid 14360) 1671s  
ok: run: prometheus: (pid 19105) 3s  
ok: run: redis: (pid 14345) 1673s  
ok: run: redis-exporter: (pid 19183) 0s  
ok: run: sidekiq: (pid 19185) 0s  
ok: run: unicorn: (pid 19187) 0s  

     _______ __  __          __  
    / ____(_) /_/ /   ____ _/ /_  
   / / __/ / __/ /   / __ `/ __ \  
  / /_/ / / /_/ /___/ /_/ / /_/ /  
  \____/_/\__/_____/\__,_/_.___/  


Upgrade complete! If your GitLab server is misbehaving try running  
  sudo gitlab-ctl restart  
before anything else.  
If you need to roll back to the previous version you can use the database  
backup made during the upgrade (scroll up for the filename).  

  検証中                  : gitlab-ee-11.0.4-ee.0.el7.x86_64                1/2  
  検証中                  : gitlab-ee-10.8.0-ee.0.el7.x86_64                2/2  

更新:  
  gitlab-ee.x86_64 0:11.0.4-ee.0.el7  

完了しました!  

OK。順調ですね。

では、ここから最新、冒頭の一覧で言うと12.0.3-ee.0.el7まで上げてしまいましょうか。

# yum install gitlab-ee  
読み込んだプラグイン:fastestmirror, langpacks  
gitlab_gitlab-ee/x86_64/signature                        |  836 B     00:00  
gitlab_gitlab-ee/x86_64/signature                        | 1.0 kB     00:00 !!!  
gitlab_gitlab-ee-source/signature                        |  836 B     00:00  
gitlab_gitlab-ee-source/signature                        |  951 B     00:00 !!!  
Loading mirror speeds from cached hostfile  
 * base: ftp.riken.jp  
 * epel: ftp.riken.jp  
 * extras: ftp.riken.jp  
 * remi-safe: ftp.riken.jp  
 * updates: ftp.riken.jp  
依存性の解決をしています  
--> トランザクションの確認を実行しています。  
---> パッケージ gitlab-ee.x86_64 0:11.0.4-ee.0.el7 を 更新  
---> パッケージ gitlab-ee.x86_64 0:12.0.3-ee.0.el7 を アップデート  
--> 依存性解決を終了しました。  

依存性を解決しました  

================================================================================  
 Package        アーキテクチャー  
                            バージョン              リポジトリー           容量  
================================================================================  
更新します:  
 gitlab-ee      x86_64      12.0.3-ee.0.el7         gitlab_gitlab-ee      680 M  

トランザクションの要約  
================================================================================  
更新  1 パッケージ  

総ダウンロード容量: 680 M  
Is this ok [y/d/N]: y  
Downloading packages:  
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.  
gitlab-ee-12.0.3-ee.0.el7. 0% [                 ] 449 kB/s | 1.0 MB   25:48 ETA  

## 略  

gitlab preinstall: and upgrade to 11.11 first.  
error: %pre(gitlab-ee-12.0.3-ee.0.el7.x86_64) scriptlet failed, exit status 1  
Error in PREIN scriptlet in rpm package gitlab-ee-12.0.3-ee.0.el7.x86_64  
gitlab-ee-11.0.4-ee.0.el7.x86_64 was supposed to be removed but is not!  
  検証中                  : gitlab-ee-11.0.4-ee.0.el7.x86_64                1/2  
  検証中                  : gitlab-ee-12.0.3-ee.0.el7.x86_64                2/2  

失敗:  
  gitlab-ee.x86_64 0:11.0.4-ee.0.el7     gitlab-ee.x86_64 0:12.0.3-ee.0.el7  

完了しました!  

……あれ?失敗してしまいました。

エラーメッセージから、どうも一飛びではできないケースだろうと推測し、11系で一番最後の11.11.5-ee.0.el7を試してみます。

# yum install gitlab-ee-11.11.5-ee.0.el7  
読み込んだプラグイン:fastestmirror, langpacks  
gitlab_gitlab-ee/x86_64/signature                        |  836 B     00:00  
gitlab_gitlab-ee/x86_64/signature                        | 1.0 kB     00:00 !!!  
gitlab_gitlab-ee-source/signature                        |  836 B     00:00  
gitlab_gitlab-ee-source/signature                        |  951 B     00:00 !!!  
Loading mirror speeds from cached hostfile  
 * base: ftp.riken.jp  
 * epel: ftp.riken.jp  
 * extras: ftp.riken.jp  
 * remi-safe: ftp.riken.jp  
 * updates: ftp.riken.jp  
依存性の解決をしています  
--> トランザクションの確認を実行しています。  
---> パッケージ gitlab-ee.x86_64 0:11.0.4-ee.0.el7 を 更新  
---> パッケージ gitlab-ee.x86_64 0:11.11.5-ee.0.el7 を アップデート  
--> 依存性解決を終了しました。  

依存性を解決しました  

================================================================================  
 Package        アーキテクチャー  
                            バージョン              リポジトリー           容量  
================================================================================  
更新します:  
 gitlab-ee      x86_64      11.11.5-ee.0.el7        gitlab_gitlab-ee      693 M  

トランザクションの要約  
================================================================================  
更新  1 パッケージ  

総ダウンロード容量: 693 M  
Is this ok [y/d/N]: y  
Downloading packages:  
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.  
gitlab-ee-11.11.5-ee.0.el7 0% [                 ] 537 kB/s | 2.0 MB   21:57 ETA  

gitlab Reconfigured!  
Restarting previously running GitLab services  
ok: run: alertmanager: (pid 27305) 0s  
ok: run: gitaly: (pid 27170) 3s  
ok: run: gitlab-monitor: (pid 27245) 2s  
ok: run: gitlab-workhorse: (pid 27204) 3s  
ok: run: logrotate: (pid 27339) 0s  
ok: run: nginx: (pid 27341) 0s  
ok: run: node-exporter: (pid 27220) 3s  
ok: run: postgres-exporter: (pid 27318) 0s  
ok: run: postgresql: (pid 14360) 4538s  
ok: run: prometheus: (pid 27268) 2s  
ok: run: redis: (pid 26782) 92s  
ok: run: redis-exporter: (pid 27253) 2s  
ok: run: sidekiq: (pid 27353) 0s  
ok: run: unicorn: (pid 27359) 0s  

     _______ __  __          __  
    / ____(_) /_/ /   ____ _/ /_  
   / / __/ / __/ /   / __ `/ __ \  
  / /_/ / / /_/ /___/ /_/ / /_/ /  
  \____/_/\__/_____/\__,_/_.___/  


Upgrade complete! If your GitLab server is misbehaving try running  
  sudo gitlab-ctl restart  
before anything else.  
If you need to roll back to the previous version you can use the database  
backup made during the upgrade (scroll up for the filename).  

  検証中                  : gitlab-ee-11.11.5-ee.0.el7.x86_64               1/2  
  検証中                  : gitlab-ee-11.0.4-ee.0.el7.x86_64                2/2  

更新:  
  gitlab-ee.x86_64 0:11.11.5-ee.0.el7  

完了しました!  

……OKですね。

では、ここから最新へ。さすがにここからならば最新まで行くでしょう、ということで再チャレンジ。

# yum install gitlab-ee  
読み込んだプラグイン:fastestmirror, langpacks  
gitlab_gitlab-ee/x86_64/signature                        |  836 B     00:00  
gitlab_gitlab-ee/x86_64/signature                        | 1.0 kB     00:00 !!!  
gitlab_gitlab-ee-source/signature                        |  836 B     00:00  
gitlab_gitlab-ee-source/signature                        |  951 B     00:00 !!!  
Loading mirror speeds from cached hostfile  
 * base: ftp.riken.jp  
 * epel: ftp.riken.jp  
 * extras: ftp.riken.jp  
 * remi-safe: ftp.riken.jp  
 * updates: ftp.riken.jp  
依存性の解決をしています  
--> トランザクションの確認を実行しています。  
---> パッケージ gitlab-ee.x86_64 0:11.11.5-ee.0.el7 を 更新  
---> パッケージ gitlab-ee.x86_64 0:12.0.3-ee.0.el7 を アップデート  
--> 依存性解決を終了しました。  

依存性を解決しました  

================================================================================  
 Package        アーキテクチャー  
                            バージョン              リポジトリー           容量  
================================================================================  
更新します:  
 gitlab-ee      x86_64      12.0.3-ee.0.el7         gitlab_gitlab-ee      680 M  

トランザクションの要約  
================================================================================  
更新  1 パッケージ  

総ダウンロード容量: 680 M  
Is this ok [y/d/N]: y  
Downloading packages:  
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.  
gitlab-ee-12.0.3-ee.0.el7. 0% [                 ] 635 kB/s | 3.8 MB   18:10 ETA  

## 略  

Running handlers:  
Running handlers complete  
Chef Client finished, 4/697 resources updated in 15 seconds  
Running reconfigure: OK  
Waiting for Database to be running.  
Database upgrade is complete, running analyze_new_cluster.sh  
Toggling deploy page:rm -f /opt/gitlab/embedded/service/gitlab-rails/public/index.html  
Toggling deploy page: OK  
Toggling services run: alertmanager: (pid 1671) 1s  
ok: run: gitaly: (pid 1685) 0s  
ok: run: gitlab-monitor: (pid 1705) 1s  
ok: run: grafana: (pid 1707) 0s  
ok: run: logrotate: (pid 1739) 0s  
ok: run: node-exporter: (pid 1741) 0s  
ok: run: postgres-exporter: (pid 1744) 0s  
ok: run: prometheus: (pid 1750) 0s  
ok: run: redis-exporter: (pid 1767) 0s  
ok: run: sidekiq: (pid 1782) 0s  
Toggling services: OK  
==== Upgrade has completed ====  
Please verify everything is working and run the following if so  
rm -rf /var/opt/gitlab/postgresql/data.9.6  

Ensuring PostgreSQL is updated: OK  
Restarting previously running GitLab services  
ok: run: alertmanager: (pid 1671) 2s  
ok: run: gitaly: (pid 1685) 1s  
ok: run: gitlab-monitor: (pid 1705) 1s  
ok: run: gitlab-workhorse: (pid 385) 70s  
ok: run: logrotate: (pid 1739) 0s  
ok: run: nginx: (pid 1793) 0s  
ok: run: node-exporter: (pid 1741) 0s  
ok: run: postgres-exporter: (pid 1744) 1s  
ok: run: postgresql: (pid 1244) 22s  
ok: run: prometheus: (pid 1750) 1s  
ok: run: redis: (pid 26782) 1913s  
ok: run: redis-exporter: (pid 1767) 1s  
ok: run: sidekiq: (pid 1782) 1s  
ok: run: unicorn: (pid 1808) 0s  

     _______ __  __          __  
    / ____(_) /_/ /   ____ _/ /_  
   / / __/ / __/ /   / __ `/ __ \  
  / /_/ / / /_/ /___/ /_/ / /_/ /  
  \____/_/\__/_____/\__,_/_.___/  


Upgrade complete! If your GitLab server is misbehaving try running  
  sudo gitlab-ctl restart  
before anything else.  
If you need to roll back to the previous version you can use the database  
backup made during the upgrade (scroll up for the filename).  

  検証中                  : gitlab-ee-12.0.3-ee.0.el7.x86_64                1/2  
  検証中                  : gitlab-ee-11.11.5-ee.0.el7.x86_64               2/2  

更新:  
  gitlab-ee.x86_64 0:12.0.3-ee.0.el7  

完了しました!  

OK、最新までアップデートできました。

管理画面でも12.0.3-eeと表示されました。成功です。

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

アルム=バンドのQrunch

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
or 外部アカウントではじめる
10秒で技術ブログが作れます!