문제

SVN에 로그인하고 소스를 업데이트하고 Tarball을 만들고 SCP를 원격 호스트로 만들 수있는 자동 스크립트를 사용하려고합니다.

여기서 문제는 SVN에 로그인 한 경우 (결제 또는 업데이트조차도) 비밀번호를 입력해야한다는 것입니다. 내가 찾을 수있는 유일한 방법 인 비밀번호 입력의 자동화는 이것에 대해 노력할 것으로 예상했다.

SVN과 SCP를 감지하고 SCP에 제공하기 위해 SVN 및 SCP를 처리 할 수있는 스크립트가 있습니까?

다음을 사용하고 있습니다.

spawn svn [lindex $argv 0]
expect " password: $"
send "$password\r"
expect { 
    " password: $"    send "$password\r"
    "^At revision "
    "^Updated to revision "
}

명령 줄에서 전달하는 비밀번호 및 UP 명령이지만 누군가가 기록에 액세스 할 수 있다면 보안 위협이 있습니다. 아래에 언급 된 답변은 내 사전 수준을 만족시키지 못하고 지금은 수출을 할 수 없습니다 [일부 다른 보안 문제 :-(

도움이 되었습니까?

해결책

Linuxbashscript.sh

svn up /path/to/local/copy
tar -cf backup.tar /path/to/local/copy
scp backup.tar user@192.1.1.1:/path/on/remote/host

또는 모든 .SVN 디렉토리를 제외하는 더 나은 사용자 SVN 내보내기.

svn export /path/to/repo /path/to/exported
tar -cf backup.tar /path/to/local/copy
scp backup.tar user@192.1.1.1:/path/on/remote/host

다른 팁

SSH Keys와 SSH-Agent를 사용하여 핸드 쉐이킹을 관리 할 수있는 것보다 SVN+SSH 프로토콜을 사용하여 SVN Repo에 액세스하는 경우 비밀번호를 포함 할 필요가 없습니다.

개인적으로 나는 개미를 사용하여 모든 작업을 수행 한 다음 필요에 따라 개미 스크립트를 호출 할 수 있습니다. ANT는 SVN 및 SCP에 대한 사전 구성된 작업뿐만 아니라 다른 많은 빌드 자동화 유형 작업을 가지고 있습니다.

(Dave가 제안한 것처럼), 당신은 Ant를 사용하면, 당신은 당신의 처분에 다음과 같은 과제를 가질 것입니다.

  • svnant 체크 아웃을하려면 INS와 그 사이의 모든 것들을 확인하십시오.
  • 개미 타르 아카이브를 만드는 작업
  • 개미 SCP 그것을 게시하는 과제

보안에 관심이있는 경우 비밀번호를 별도의 속성 파일로 저장할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top