svn 여러 서버에 프로젝트 동기화 업데이트 기능 추가

1487 단어 svn
갈고리를 이용하여 원격 프로젝트를 업데이트하는 관건은 ssh의 암호 없는 로그인을 실현하는 것이다.
1. ssh 암호 없이 로그인 1.A기기에서 비밀 키 만들기 [root@domin~]#ssh-keygen-trsa가 생성한 비밀 키 저장/사용자 홈 디렉터리/.ssh 디렉토리
[root@domin .ssh]# pwd  
/root/.ssh  
[root@domin .ssh]# ls  
id_rsa  id_rsa.pub  

2. id_를rsa.pub를 authorized_로 복사keys, 그리고 authorized_keys 파일을 B기기에 업로드한
[root@domin .ssh]# cp id_rsa.pub authorized_keys  
[root@domin .ssh]# scp authorized_keys [email protected]:/root/.ssh  

2.1 두 번째 단계는 또 다른 전송 방식이 있을 수 있다
[root@domin .ssh]# ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
: .ssh 700 ,authorized_keys 600 3.ssh가 B기계에 로그인하면 처음으로 비밀번호를 입력해야 하고 이후에는 필요하지 않습니다. 이로써 비밀번호가 없는 로그인은 이미 실현되었습니다. 2. B기계에서svn을 업데이트하는 스크립트를 만듭니다.스크립트 파일/shell/svnup을 만듭니다.sh
[root@domin shell]# vim svnup.sh  
#!/bin/bash  
/usr/bin/svn update /var/www/projcet #projcet   

[root@domin shell]# chmod 755 svnup.sh
3. 갈고리svn 창고를 만들고 나면 hooks 폴더가 있습니다. 이 폴더 아래에 갈고리 파일이 있습니다. 저희가 사용하고자 하는 것은post-commit 1입니다.post-commit.tmpl은post-commit으로 복사
[root@101-server hooks]# cp post-commit.tmpl post-commit  

2.post-commit에 있는 모든 내용을 주석하고 업데이트 명령을 추가합니다
/usr/bin/ssh -l root 192.168.6.28 "/bin/bash /shell/svnup.sh"  

4. 총결산
  • .ssh 디렉토리 및 authorize_keys 파일의 권한,.ssh 디렉터리의 권한은 700, authorize_keys의 권한은 644..
  • post-commit 파일과svnup.sh 파일의 권한, 최소 755
  • 좋은 웹페이지 즐겨찾기