문제

그래서,당신의 경험을,무슨 최고의 방법이 있을까?은 거기에 안전한 방법으로는 또한 스크립트/triggerable 에서 구축의 자동화 도구입니까?

편집:나도 언급해야한다 이는 윈도우/.net 고 배포하 lls6 에

도움이 되었습니까?

해결책

일부 프로젝트 사용 카피스트라노 밀어 살고 있습니다.그것의 상단에 내장되어 루비하고 배포하는 스크립트를 쓰기 쉽고 사용하는 ssh.

다른 프로젝트에 있는 작은 배포에 사용하는 응용 프로그램 bash 할 svn 내보내기 임시 디렉토리고 다음 재동기화를 통해 그것은 라이브 서버입니다.을 만들 수 있다 재동기화를 사용 ssh.

나는 매우 선호하는 방법은 카피스트라노 경우에도 귀하의 프로젝트에 없는 루비/수도 있습니다.

다른 팁

이처럼 보인다는 일종의 것은 쉽게 할 수 있습으로 SFTP.살펴보 퍼티 (psftp 과는 다음 각 호의 사항을 준수하여야 한다)또는 WinSCP 윈도우,또는 재동기화OpenSSH 에 대한 유닉스.

@Neall,나는 추가 set -e 두 번째 줄에 있지 않기 때문에 원하는 라이브이트에 대체되는 경우 rsync 실패에 대한 어떤 이유입니다. set -e 원인 스크립트를 종료하는 경우의 명령은 실패합니다.

편집:이 set -e 해야 할 첫 번째 일에,스크립트를 바른 후 #!/bin/bash.

의 복사본을 만들어 라이브 사이트의 디렉터리 사용 재동기화 복사본을 업데이트와 함께 귀하의 최신 버전으로 다음을 바꾸 라이브 업데이트된 디렉토리도록 업데이트 버전을은 지금 살고 있습니다.

Bash:

#!/bin/bash

set -e
cp -R /var/livesite /var/newversion
rsync user@devserver:/var/readytogolive /var/newversion
mv /var/livesite /var/oldlivesite
mv /var/newversion /var/livesite

비올라!

편집:@Ted 퍼시벌는 좋은 생각이 아니다.도에 대한 설정"e".업데이트 스크립트입니다.편집:다시 업데이트 Ted 에서의 제안(내가 생각하지만 그것은 여전히 작동하는 경우 cp 명령에 실패한 경우 cp 실패하면 당신은 아마 더 심각한 문제입니다.)

나는 두 번째 추천 카피스트라노, 지만,당신을 위한 GUI 기반의 솔루션을 시도해 볼 수도 있습니다 Webistrano 프런트 엔드.깨끗하고,ssh-따라,온전한 배포와 롤백을 의미하고 쉬운 스크립트와 확장성을 통해니다.

당신은 항상 수 있는 작은 클라이언트/서버 응용 프로그램를 암호화하여,소스에서 밀어 파일,다음를 해독하고 목적지에.는 조금의 일이지만,아마 사소한 금액입니다.그것은 스크립트 가능한 한 당신의 자동화 도구 실행을 지원하고 무언가가 파일 시스템에서(내가 생각하는 모든지 않습니다.)

유일한 단점은 당신이하지 못할 수 있습을 얻을 의미에 오류 메시지 오류에 당신의 통합이 없는 환경에 조금 더 많은 작업의 부분(지만 설정에 따라,이 될 수 있으로 단순으로 보내는 오류 메시지를 stdout).

hm,주위에 여기에는 우리가 사용하는 준비"서버"테스트를 위해서는 실제 환경(실제로 아파치 가상호스트에서 생산 server) araxis 병합 (정말 똑똑하여 줄 파일 비교 공구)동기화 개발 및 준비.

후에는 해당,기타,베이스,드럼;에서 파일을 대체 생산 norton:)

/mp

프리랜서 작업을 했,우리는 세 가지 별도의 환경.

  • 개발자,서버가 실행 계속 사용하여 빌드 CruiseControl.어떤 체크인 트리거합니다.QA 테스트는 여기서 수행됩니다.
  • 테스트 서버는 사용자의 승인 테스트를 수행되었다.
  • 생산입니다.

워크플로 다음과 같:

  1. 개발자 검사에서 변경 SourceControl.
  2. CruiseControl 구축 및 배포합 구축하 Dev.
  3. 사용자 QA'ed
  4. 를 통과 한 후 QA,robocopy 스크립트를 실행를 배포하는 Dev 구축을 테스트하고 있습니다.
  5. 테스트 UAT'ed
  6. 후에 테스트를 통과,robocopy 스크립트를 실행를 배포하는 테스트를 PRD.
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top