2017-09-11 16 views
1

실행중인 gerrit 2.14.2와 MySQL 백엔드가 있습니다.gerrit - 복제 이해 또는 백업 생성

이제 미러링/백업하지 않아도됩니다.

복제 기능을 이해할 수 없습니다. 원본 인스턴스와 동일한 구성에서 전체 gerrit/git을 설정해야합니까?

다른 언급 된 방법으로 DB가 git 저장소의 다른 컴퓨터와 rsync로 재생을 덤프 할 수 있습니까?

안녕

그레고르

+0

가능한 복제 [리트와 개발 지점의 백업을 수행하는 방법?] (https://stackoverflow.com/questions/29703552/how-to-do-backup-of-development-branches- with-gerrit) –

답변

1

당신이 replication plugin을 config (설정)/설치하는 데 필요한 복제 기능을 사용합니다. 핵심 플러그인의 일부이므로 Gerrit war 파일에 패키지되어 있으며 Gerrit 초기화 (java -jar gerrit.war init)를 실행하여 설치할 수 있습니다. 플러그인은 모든 변경 사항을 웜 대기 백업 또는로드 밸런싱 미러로 사용될 다른 Gerrit 서버로 미러링합니다.

백업에만 관심이 있다면 rsync/mysqldump를 실행하는 것이 더 좋고/간단한 해결책입니다. 유감스럽게도 파일 시스템과 데이터베이스가 동기화되도록 백업을 수행하기 전에 Gerrit를 중지해야합니다. 당신은 같은 것을 실행해야합니다, 당신은 (최대 리트와) 첫 번째 rsync를 실행하여 중지됩니다 시간 리트를 최적화 할 수 있습니다

service gerrit stop 
rsync -avh --delete GERRIT-SITE/ SOME-LOCATION 
mysqldump --host=DB-HOST --port=DB-PORT --user=DB-USER --password=DB-PASS DB-DATABASE > SOME-LOCATION/gerrit-dump.sql 
service gerrit start 

을 리트를 중지 한 후 다시 rsync를 실행 (두 번째 실행은 매우 빠르게 될 것입니다) .

+0

OK 테스트 환경에서 gerrit 복제를 실행하고 있습니다. ~/.ssh/known_host에 rsa ssh 키를 가져와야한다는 문제가있었습니다. 이제 destionation에서 새 프로젝트를 복제합니다. 추가 질문 하나 : 대상에서 변경 사항을 자동으로 가져 오는 방법은 자동입니까? gerrit 데몬을 다시 시작한 후에 만 ​​새 프로젝트/변경 사항을 볼 수 있습니다. 지금까지 고맙습니다. – grefabu

+0

변경 사항이 있거나 복제가 작동하지 않을 때마다 Gerrit를 다시 시작해야합니까? 이것은 이상한 ... –

0

나는 틀렸으나 대상 gerrit 데몬을 다시 시작하지 않았습니다. 프로젝트에 들어 왔을 때 목록보기에서 브라우저의 새로 고침을 실행해도 아이콘이 새로 고쳐지지 않습니다.

지원해 주셔서 감사합니다.

그레고르