
이제 우분투 서버에서 gitlab과 gitolite가 실행되고 있습니다. 그런데 이 서버가 너무 느려서 회사에서 서버를 다른 컴퓨터로 옮기고 싶습니다. gitlab 및 gitolite 서버(전체 파일, 사용자 및 설정)를 다른 컴퓨터로 이동할 수 있는 방법이 있습니까?
모든 사용자와 저장소를 다시 설치하고 생성하는 것이 마지막 선택입니다. 미리 감사드립니다.
답변1
저는 더 빠른 로컬 배포를 위해 매시간 crontab 작업을 통해 이 작업을 지속적으로 수행하고 있습니다. (원본 서버의 정확한 복사본을 생성하고 읽기 전용 미러 역할을 하며 개인적으로 꼭두각시 머신이라고 부릅니다.)
당신이 해야 할 일은 다음과 같습니다:
- mysql 데이터 백업/복원(도구: mysqldump / mysql < backup.sql.txt)
- 모든 gitlab www를 새 컴퓨터에 복사합니다(scp, rsync)
- 모든 gitolite 디렉토리를 새 시스템에 복사합니다(rsync)
언제든지 다음 명령을 실행하여 Puppet이 성공적으로 실행되는지 테스트할 수 있습니다.
bundle exec rake gitlab:app:status RAILS_ENV=production
일부 세부 절차:
ubuntu 12.04 gitolite apt-get install을 사용하여 MIME 설정을 완료하고 공식 가이드를 통해 휴식을 취했으며 몇 가지 메모도 작성했습니다.
- 알림 시간:https://github.com/c2h2/gitlabhq_install/blob/master/aio.sh
- 자동 백업 스크립트:https://github.com/c2h2/gitlabhq_install/blob/master/gitlab_backup.rb
자동화된(암호 없는) rsync/scp 프로세스에는 SSH 개인/공개 키가 필요합니다. 이해하지 못하는 경우 읽어보시기 바랍니다.http://troy.jdmz.net/rsync/index.html
설정에 필요한 것은 원래 시스템이 작동한 후 일부 cron 작업입니다.온라인거울도. (웹 서버/머신을 다시 시작할 필요가 없습니다)
미러 머신의 crontab:
58 * * * * rsync -zav root@my_remote_server.com:/home/git /home
11 * * * * rsync -zav root@my_remote_server.com:/root/mysql_hourly_dump.txt /root
15 * * * * mysql -u root -p"secure password" gitlabhq_production < mysql_hourly_dump.txt
20 * * * * rsync -zav --delete my_remote_server.com:/www/ /www
서버의 crontab:
7 * * * * mysqldump -p"secure password" gitlabhq_production -u root > /root/mysql_hourly_dump.txt
답변2
지톨라이트 이동은 쉬워 보입니다.
~/.ssh/authorized_keys
참조하는 공개 키가 여전히 새 집 에 있는지 확인해야 합니다 (따라서 주로 해당 파일을 복사해야 합니다).repositories
그리고 ,.gitolite
및 파일을 이동해야 합니다.gitolite.rc
(마지막 파일의 경로를 확인하세요).
"사용자"는 gitolite 파일과 gitlab 데이터베이스에서만 선언됩니다.
GitLab을 다시 설치해야 하며(사용 중인 모든 gem으로 인해 첫 번째 설치를 기준으로 고정 경로에서 사용할 수 있음) 데이터베이스를 Ubuntu 서버의 데이터베이스로 업데이트/교체해야 합니다(파일 복사 또는 SQL 내보내기/가져오기).