셀프 컴파일된 설치에 대한 패치 버전의 범용 업데이트 가이드

Tier: Free, Premium, Ultimate Offering: Self-managed

설치할 버전 선택

설치하려는 GitLab의 태그(버전)에서 이 업데이트 가이드를 확인하세요.
대부분의 경우 이 버전은 가장 높은 숫자의 프로덕션 태그여야 합니다(rc가 없는).
GitLab의 왼쪽 상단 모서리에서 버전 드롭다운 목록에서 태그를 선택할 수 있습니다.

0. 백업

문제가 발생할 경우를 대비하여 백업을 만드세요.
설치 방법에 따라 백업 명령이 다릅니다. GitLab의 백업 및 복원 문서를 참조하세요.

1. 서버 중지

# systemd를 사용하는 시스템의 경우
sudo systemctl stop gitlab.target

# SysV init을 사용하는 시스템의 경우
sudo service gitlab stop

2. 안정적인 브랜치의 최신 코드 가져오기

아래 명령에서 LATEST_TAG를 업데이트하려는 최신 GitLab 태그로 바꾸세요, 예를 들어 v8.0.3.
모든 태그의 목록을 보려면 git tag -l 'v*.[0-9]' --sort='v:refname'을 사용하세요.
패치 버전만 업데이트하도록 하세요(현재 버전은 cat VERSION으로 확인).

cd /home/git/gitlab

sudo -u git -H git fetch --all
sudo -u git -H git checkout -- Gemfile.lock db/structure.sql locale
sudo -u git -H git checkout LATEST_TAG -b LATEST_TAG

3. 라이브러리, 마이그레이션 등 설치

cd /home/git/gitlab

# 설치 중 또는 이전 업그레이드 중에 하지 않았다면
sudo -u git -H bundle config set --local deployment 'true'
sudo -u git -H bundle config set --local without 'development test kerberos'

# 젬 업데이트
sudo -u git -H bundle install

# 선택 사항: 오래된 젬 정리
sudo -u git -H bundle clean

# 데이터베이스 마이그레이션 실행
sudo -u git -H bundle exec rake db:migrate RAILS_ENV=production

# 자산 및 캐시 정리
sudo -u git -H bundle exec rake yarn:install gitlab:assets:clean gitlab:assets:compile cache:clear RAILS_ENV=production NODE_ENV=production NODE_OPTIONS="--max_old_space_size=4096"

4. 해당 버전으로 GitLab Workhorse 업데이트

cd /home/git/gitlab

sudo -u git -H bundle exec rake "gitlab:workhorse:install[/home/git/gitlab-workhorse]" RAILS_ENV=production

5. 해당 버전으로 Gitaly 업데이트

cd /home/git/gitlab

sudo -u git -H bundle exec rake "gitlab:gitaly:install[/home/git/gitaly,/home/git/repositories]" RAILS_ENV=production

6. 해당 버전으로 GitLab Shell 업데이트

cd /home/git/gitlab-shell

sudo -u git -H git fetch --all --tags
sudo -u git -H git checkout v$(</home/git/gitlab/GITLAB_SHELL_VERSION) -b v$(</home/git/gitlab/GITLAB_SHELL_VERSION)
sudo -u git -H make build

7. 해당 버전으로 GitLab Pages 업데이트 (페이지를 사용하지 않는 경우 건너뜀)

cd /home/git/gitlab-pages

sudo -u git -H git fetch --all --tags
sudo -u git -H git checkout v$(</home/git/gitlab/GITLAB_PAGES_VERSION)
sudo -u git -H make

8. gitlab-elasticsearch-indexer 설치/업데이트

Tier: Premium, Ultimate Offering: Self-managed

설치 지침을 따르세요.

9. 애플리케이션 시작

# systemd가 실행 중인 시스템의 경우
sudo systemctl start gitlab.target  
sudo systemctl restart nginx.service  

# SysV init이 실행 중인 시스템의 경우
sudo service gitlab start  
sudo service nginx restart  

10. 애플리케이션 상태 확인

GitLab 및 그 환경이 올바르게 구성되었는지 확인하세요:

cd /home/git/gitlab  

sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production  

놓친 것이 없는지 확인하려면 다음과 같이 더 철저한 검사를 실행하세요:

sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production  

모든 항목이 녹색이면, 축하합니다, 업그레이드가 완료되었습니다!

11. 백그라운드 마이그레이션이 완료되었는지 확인

백그라운드 마이그레이션 상태 확인하고 완료되었는지 확인하세요.