IaC/CI CD Tool

4. GitLab 버전 업그레이드

Somaz 2023. 8. 8. 20:45
728x90
반응형

Overview

오늘은 GitLab 버전 업그레이드 방법에 대해 알아보려고 한다.

2023.04.20 - [IaC/CI CD Tool] - 1. GitLab이란? / 개념 및 설치

 

1. GitLab이란? / 개념 및 설치

Overview 오늘은 CI Tool 중 하나인 GitLab에 대해서 공부해보려고 한다. 다음시간에는 GitLab Runner에 대해 공부할 예정이다. GitLab이란? GitLab은 소프트웨어 개발 및 협업을 위한 올인원 솔루션을 제공하

somaz.tistory.com

2023.04.23 - [IaC/CI CD Tool] - 2. GitLab이란? / GitLab Runner 개념 및 설치

 

2. GitLab이란? / GitLab Runner 개념 및 설치

Overview 오늘은 GitLab Runner의 개념과 설치 방법에 대해 알아보려고 한다. 다음시간에는 GitLab CI/CD 구동방식과 GitLab 문법에 대해 자세히 공부해보려고 한다. GitLab 설치는 아래의 페이지를 참고하기

somaz.tistory.com

2023.04.24 - [IaC/CI CD Tool] - 3. GitLab이란? / GitLab CI/CD

 

GitLab Upgrade Latest

 


 

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개가 되어야 완료된 것이다.

Queued 확인

 


 

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/

 

728x90
반응형

'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