Gitlab 6.6.5에서 8.7.0으로 업그레이드 하기
6.6.5버전에서 8.7.0으로 바로 업그레이드 하면 오류가 발생하여 부득하게 7.10.4 omni버전으로 업그레이드 후 8.7.0버전으로 업그레이드 하였다.
*이전(Migration) - 이전이 필요 없을 경우 바로 7.10.4 omni버전으로 업그레이드 후 8.7.0 버전으로 업그레이드 하면 된다.
1. 백업
/home/git/gitlab$ sudo -u git -H bundle exec rake RAILS_ENV=production gitlab:backup:create (backing up at old gitlab server, source compile version)
*이전(Migration) - 이전이 필요 없을 경우 바로 7.10.4 omni버전으로 업그레이드 후 8.7.0 버전으로 업그레이드 하면 된다.
1. 백업
/home/git/gitlab$ sudo -u git -H bundle exec rake RAILS_ENV=production gitlab:backup:create (backing up at old gitlab server, source compile version)
소스로 컴파일한 버전의 경우 위와 같이 백업 한다.
omnibus 버전인 경우는
sudo gitlab-rake gitlab:backup:create
2. 복구
서버 사양은 2core 2G 이상의 RAM을 가지고 있어야 원활하게 작동한다.
해당 서버가 마련 되었으면 아래 명령어를 이용하여 6.6.5버전을 설치한다.(Ubuntu에 설치)
sudo apt-get install openssh-server
sudo apt-get install postfix # sendmail or exim is also OK
sudo dpkg -i gitlab-x.y.z.deb # this is the .deb you downloaded(6.6.5)
sudo gitlab-ctl reconfigure
6.6.5버전은 https://about.gitlab.com/downloads/archives/ 경로를 통해 얻을 수 있다.(wget 혹은 다운로드 후 직접 서버에 업로드)
백업한 파일을 서버에 올린다.(e.g. /home/git/gitlab/tmp/backups/1461220799_gitlab_backup.tar)
해당 디렉토리로 옮긴다.
sudo mv 1461220799_gitlab_backup.tar /var/opt/gitlab/backups/
# 데이터베이스에 접근하는 프로세스를 정지 시킨다.
sudo gitlab-ctl stop unicorn
sudo gitlab-ctl stop sidekiq
# 복원한다.
/var/opt/gitlab$ sudo gitlab-rake gitlab:backup:restore BACKUP=1461220799
복원 시 혹시 버전이 맞지 않다고 하면 tar 파일 안의 "backup_information.yml" 파일의 버전 정보를 6.6.5로 변경 한 후 다시 tar로 묶어 사용한다.
# Gitlab을 시작한다.
sudo gitlab-ctl start
# Gitlab 상태를 확인한다.
sudo gitlab-rake gitlab:check SANITIZE=true
업그레이드 - 이전 하지 않은 경우 여기부터 시작하면 된다. 혹시나 모를 문제를 위해 백업은 반드시 실행 후 업그레이드 하자.
7.10.4버전 또한 https://about.gitlab.com/downloads/archives/ 경로를 통해 얻을 수 있다.(wget 혹은 다운로드 후 직접 서버에 업로드)
# Ubuntu/Debian:
sudo dpkg -i gitlab-ce_7.10.4-omnibus-1_amd64.deb
로그상에 에러가 발생하면 “NoMethodError (undefined method `push_events=' for ~~~”, 이 명령어를 실행한다. “sudo gitlab-rake db:migrate , sudo gitlab-ctl reconfigure”.
로그 위치는 /var/log/gitlab/gitlab-rails/production.log 이다. permission 오류가 발생하면 sudo를 사용하자.
이로써 7.10.4버전으로 업그레이드가 완료 되었을 것이다. gitlab 페이지를 열면 해당 버전으로 정상작동하는 것을 알 수 있다.
이제는 8.7.0버전으로 업그레이드 차례이다.
서버에서 아래 명령어를 수행한다.
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
sudo apt-get install gitlab-ce
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
reference site
추가문제해결
위키가 생성 되지 않는 문제가 발생하고 production.log 에 "NoMethodError (undefined method username' for~~~" 오류가 발생하는 경우 아래 URL을 참고 하여 /opt/gitlab/embedded/service/gitlab-rails/app/services/wiki_pages/create_service.rb 파일 내용만 수정하면 일단 작동은 된다.(Workaround)
8.8.0에서 완전 수정 될 듯 하다.
댓글
댓글 쓰기