Overview
오늘은 GitLab 버전 업그레이드 방법에 대해 알아보려고 한다.
2023.04.20 - [IaC/CI CD Tool] - 1. GitLab이란? / 개념 및 설치
2023.04.23 - [IaC/CI CD Tool] - 2. GitLab이란? / GitLab Runner 개념 및 설치
2023.04.24 - [IaC/CI CD Tool] - 3. GitLab이란? / GitLab CI/CD
GitLab Upgrade
GitLab은 Upgrade 할때 Upgrade Path을 가지고 있다. 해당 링크에서 간단하게 자신의 Upgrade Path을 확인할 수 있다.
`14.2.3 → 16.2.3` 까지 업그레이드를 진행했다.
gitlab version
14.2.3 > 14.3.6 > 14.9.5 > 14.10.5 > 15.0.5 > 15.4.6 > 15.11.13 > 16.2.3
postgresql version 12.10/13.6 13.11
따라서 아래와 같이 총 1번의 업그레이드를 진행해야 한다.
sudo apt-get install -y gitlab-ce=14.3.6-ce.0
sudo apt-get install -y gitlab-ce=14.9.5-ce.0
sudo apt-get install -y gitlab-ce=14.10.5-ce.0
sudo apt-get install -y gitlab-ce=15.0.5-ce.0
sudo apt-get install -y gitlab-ce=15.4.6-ce.0
sudo apt-get install -y gitlab-ce=15.11.13-ce.0
sudo apt-get install -y gitlab-ce=16.2.3-ce.0
업그레이드를 하는 이유는 GitLab 콤보박스를 사용하기 위해서는 15.7 버전까지 업그레이드가 필요했다.
따라서 업그레이드를 하는 김에 최신버전까지 올리기로 하였다.
GitLab Upgrade 시 주의사항
업그레이드 후 UI로 접속이 된다고 업그레이드가 완료된 것이 아니라 Admin Area > Monitoring > Background Migrations 메뉴에 Queued 가 0개가 되어야 완료된 것이다.
GitLab Upgrade 백업 경로 변경 & 백업 및 복원
백업 경로 변경
# gitlab.rb 수정
gitlab_rails['backup_path'] = "[원하는 백업 경로 입력]"
sudo gitlab-ctl reconfigure
백업
sudo gitlab-rake gitlab:backup:create STRATEGY=copy
ls -alh /var/opt/gitlab/backups (백업 폴더 위치)
1691401814_2023_08_07_14.2.3_gitlab_backup.tar 1691420921_2023_08_07_14.10.5_gitlab_backup.tar
1691402602_2023_08_07_14.3.6_gitlab_backup.tar 1691421681_2023_08_07_15.0.5_gitlab_backup.tar
1691420157_2023_08_07_14.9.5_gitlab_backup.tar 1691420128_2023_08_07_15.4.6_gitlab_backup.tar
1691420457_2023_08_07_15.11.13_gitlab_backup.tar
복원
sudo gitlab-rake gitlab:backup:restore BACKUP=1691421681_2023_08_07_15.0.5 ( _gitlab_backup.tar 부분은 지우고 입력 )
GitLab 버전 확인
# check upgrade version
sudo apt list --upgradable gitlab-ce -a
Listing... Done
gitlab-ce/focal 16.2.3-ce.0 amd64
gitlab-ce/focal 16.2.2-ce.0 amd64
gitlab-ce/focal 16.2.1-ce.0 amd64
gitlab-ce/focal 16.2.0-ce.0 amd64
...
# check version
cat /opt/gitlab/version-manifest.txt | grep gitlab-ce
gitlab-ce 16.2.3
cat /opt/gitlab/version-manifest.txt | grep postgre
postgres-exporter v0.13.1 git:716ac23f202f664845d04c0d7b07000feae19c59
postgresql 13.11 sha256:4992ff647203566b670d4e54dc5317499a26856c93576d0ea951bdf6bee50bfb
cat /opt/gitlab/version-manifest.txt | grep ruby
ruby 3.0.6 sha256:6e6cbd490030d7910c0ff20edefab4294dfcd1046f0f8f47f78b597987ac683e
rubygems 3.4.14
GitLab DB(postgresql) 접속방법
sudo -u gitlab-psql /opt/gitlab/embedded/bin/psql -h /var/opt/gitlab/postgresql/ gitlabhq_production
select * from pg_tables;
schemaname | tablename | tableowner | tablespace | hasindexes | hasrules | hastriggers | rowsecurity
---------------------------+---------------------------------------------------------+-------------+------------+------------+----------+-------------+-------------
gitlab_partitions_dynamic | web_hook_logs_202204 | gitlab | | t | f | t | f
public | audit_events | gitlab | | t | f | f | f
public | product_analytics_events_experimental | gitlab | | t | f | f | f
public | web_hook_logs | gitlab | | t | f | f | f
public | incident_management_pending_alert_escalations | gitlab | | t | f | f | f
public | group_features | gitlab | | t | f | t | f
public | user_preferences | gitlab | | t | f | t | f
gitlab_partitions_dynamic | incident_management_pending_alert_escalations_000000 | gitlab | | t | f | t | f
pg_catalog | pg_statistic | gitlab-psql | | t | f | f | f
pg_catalog | pg_type | gitlab-psql | | t | f | f | f
pg_catalog | pg_foreign_server | gitlab-psql | | t | f | f | f
pg_catalog | pg_authid | gitlab-psql | pg_global | t | f | f | f
...
select description from ci_runners;
description
----------------------------------------------------------------
gitlab-runner-build-image-gitlab-runner-5c949fcfc-qlncm
gitlab-runner-somaz-gitlab-runner-c84866c7c-zqt9g
gitlab-runner-build-image-gitlab-runner-5c949fcfc-c9fpd
gitlab-runner-build-image-gitlab-runner-5c949fcfc-bd42v
...
Reference
https://docs.gitlab.com/ee/update/
https://docs.gitlab.com/ee/update/index.html#linux-packages-omnibus-gitlab
https://docs.gitlab.com/ee/install/installation.html#2-ruby
https://docs.gitlab.com/ee/update/index.html#1400
https://gitlab-com.gitlab.io/support/toolbox/upgrade-path/
'IaC > CI CD Tool' 카테고리의 다른 글
5. GitLab ArgoCD 연동 (0) | 2023.08.10 |
---|---|
ArgoCD 설치 AWS & GCP (0) | 2023.08.09 |
3. Github Action (With Automate Pull Request) (0) | 2023.05.23 |
2. Github Action (With Syntax) (0) | 2023.05.22 |
1. Github Action이란? (0) | 2023.05.19 |