SVN에 로그인하기 위해 예상 사용
-
03-07-2019 - |
문제
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에 대한 사전 구성된 작업뿐만 아니라 다른 많은 빌드 자동화 유형 작업을 가지고 있습니다.
제휴하지 않습니다 StackOverflow