2 git git 서버에서 하나의 저장소를 자동으로 동기화 (미러링)하는 방법을 찾고 있습니다. 불행히도 권한상의 이유로 단일 서버를 가질 수 없습니다.Git sync multiple masters
사람들은 변경 사항 (및 분기)을 서버 중 하나에 푸시 할 수 있어야하며 변경 사항은 다른 서버에서 자동으로 복제되어야합니다.
그 방법에 대한 아이디어가 있습니까?
많은 감사가 들어
2 git git 서버에서 하나의 저장소를 자동으로 동기화 (미러링)하는 방법을 찾고 있습니다. 불행히도 권한상의 이유로 단일 서버를 가질 수 없습니다.Git sync multiple masters
사람들은 변경 사항 (및 분기)을 서버 중 하나에 푸시 할 수 있어야하며 변경 사항은 다른 서버에서 자동으로 복제되어야합니다.
그 방법에 대한 아이디어가 있습니까?
많은 감사가 들어
"Duplicating a Git repository"라는 제목으로 잘 설명되어 있습니다. 가져온 것 article :
원본에서 업데이트하는 것을 포함하여 다른 위치에서 저장소를 미러링하려는 경우 미러를 복제하고 주기적으로 변경 내용을 푸시 할 수 있습니다.
# Make a bare mirrored clone of the repository
git clone --mirror https://github.com/exampleuser/repository-to-mirror.git
# Set the push location to your mirror
cd repository-to-mirror.git
git remote set-url --push origin https://github.com/exampleuser/mirrored
미러 된 클론은 모든 원격 브랜치와 태그를 포함하지만, 항상 원래 저장소와 동일합니다, 그래서 모든 로컬 참조, 당신은 가져올 때마다 덮어 쓰게됩니다. 푸시 URL을 설정하면 미러링을 간소화 할 수 있습니다. 미러를 업데이트하려면 cron 작업을 실행하여 자동화 된 업데이트 및 패치를 가져옵니다. 당신은 코드 또는 루비 스크립트를 통해이 문제를 자동화 할 경우
git fetch -p origin
git push --mirror
, 당신은 Git Duplicator 루비 보석을 사용하여뿐만 아니라 그것을 할 수 있습니다.
당신은 Jenkins 같은 일부 배포 시스템을 가지고있다. 여기서 서버를 추가하고 명령을 서버에 배치 할 수 있습니다.
예를 들어 SSH 용 일부 Jenkins 플러그인을 설치하거나 Chef/Puppet 또는 Capistrano와 같은 것을 사용할 수 있습니다. 몇 가지 도구가 있습니다.
안녕하세요, 귀하의 회신에 감사드립니다. 리포지토리가 동기화 상태를 유지하도록하기 위해 Jenkins 서버에서 어떤 git 명령을 실행합니까? –
가능한 복제본 : http://stackoverflow.com/questions/14288288/gitlab-repository-mirroring –