문제

나는 종종 서버로 sshing, 특정 디렉토리로 전환하고 svn-update를 실행합니다.

나는 이것을 자동화하는 매우 쉬운 방법이있을 것이라고 생각하고 있으므로 스크립트를 실행할 때 하위 디렉토리를 간단하게 구체적으로 할 수 있으며 SSH, CD를 통해 올바른 디렉토리에 로그인하고 SVN Update를 실행할 수 있습니다.

이것은 Capistrano의 직업입니까, 아니면 간단한 bash 스크립트가 일을 할 수 있습니까?

도움이 되었습니까?

해결책

직업처럼 들립니다 크론. 실행하다 크론타 브, 그런 항목을 추가하십시오.

#min hour date month day command
 0   *    *    *     *   ssh user@host '(cd path/to/working/copy; svn update)' 

설정해야 할 수도 있습니다 SSH Agent를 사용한 SSH 비밀번호 인증 프롬프트하지 않도록.

편집 (아래 의견 당) :

그렇게 할 권한이 충분하다고 가정하면

ssh user@host crontab -e

그런 다음 그렇게 항목을 추가하십시오.

#min hour date month day command
 0   *    *    *     *   (cd path/to/working/copy; svn update)

서버에서 CRON을 사용할 수 없다면 편집 위의 부분을 무시할 수 있습니다.

다른 팁

아마도 당신은 왜 당신 이이 행동을 수행하고 있는지 스스로에게 물어봐야합니까?

Cruisecontrol 또는 Hudson과 같은 빌드 서버가 더 일반적인 사례를 해결할 수 있습니까 (SVN 커밋이 언제 수행되었는지 아는 것)?

특정 SVN 서버에서 모니터링이 필요한 경우 관리에 액세스 할 수있는 경우 서버에 사후 커밋 후크 (예 : 모든 커밋에서 이메일을 보내거나 특정 유형의 커밋)를 보낼 수 있습니다. .

상황의 usecase를 명확히 할 수 있다면 도움이 될 것입니다.

간단한 bash 스크립트를 사용하면 /etc /프로필 파일에 SVN 업데이트 명령을 추가합니다.

보다 Bash 로그인을 위해 여기에 있습니다 스크립트 처리.

다른 상자에서 실행하려면 (즉, 로그인하지 않음) 실행중인 프로세스가 있으면 SSH가 종료되지 않는 것보다 기억하십시오. 따라서 모든 배경에서 업데이트를 실행할 수 있습니다. 없는.

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