Gitlab 및 Gitolite 서버를 다른 시스템으로 이동

Gitlab 및 Gitolite 서버를 다른 시스템으로 이동

이제 우분투 서버에서 gitlab과 gitolite가 실행되고 있습니다. 그런데 이 서버가 너무 느려서 회사에서 서버를 다른 컴퓨터로 옮기고 싶습니다. gitlab 및 gitolite 서버(전체 파일, 사용자 및 설정)를 다른 컴퓨터로 이동할 수 있는 방법이 있습니까?

모든 사용자와 저장소를 다시 설치하고 생성하는 것이 마지막 선택입니다. 미리 감사드립니다.

답변1

저는 더 빠른 로컬 배포를 위해 매시간 crontab 작업을 통해 이 작업을 지속적으로 수행하고 있습니다. (원본 서버의 정확한 복사본을 생성하고 읽기 전용 미러 역할을 하며 개인적으로 꼭두각시 머신이라고 부릅니다.)

당신이 해야 할 일은 다음과 같습니다:

  1. mysql 데이터 백업/복원(도구: mysqldump / mysql < backup.sql.txt)
  2. 모든 gitlab www를 새 컴퓨터에 복사합니다(scp, rsync)
  3. 모든 gitolite 디렉토리를 새 시스템에 복사합니다(rsync)

언제든지 다음 명령을 실행하여 Puppet이 성공적으로 실행되는지 테스트할 수 있습니다.

bundle exec rake gitlab:app:status RAILS_ENV=production

일부 세부 절차:

ubuntu 12.04 gitolite apt-get install을 사용하여 MIME 설정을 완료하고 공식 가이드를 통해 휴식을 취했으며 몇 가지 메모도 작성했습니다.

자동화된(암호 없는) 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 내보내기/가져오기).

관련 정보