26.10.2015 Views

Modern PHP - 맛보기 PDF

조시 록하트 저 | 정병렬 역 | 한빛미디어 | 2015년 10월 | 22,000원

조시 록하트 저 | 정병렬 역 | 한빛미디어 | 2015년 10월 | 22,000원

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

를 통해 원격 서버와 소통한다. 카피스트라노는 원래 루비 애플리케이션을 배포하기 위해 제작<br />

됐지만 <strong>PHP</strong>를 포함한 다른 모든 프로그래밍 언어에도 마찬가지로 유용하다.<br />

9.3.1 작동<br />

카피스트라노는 로컬 워크스테이션에 설치하는 도구다. 카피스트라노는 로컬 워크스테이션으<br />

로부터 원격 서버로 SSH 명령을 내릴 수 있으며 이를 이용해 <strong>PHP</strong> 애플리케이션을 원격 서버<br />

에 배포한다. 원격 서버에는 애플리케이션 배포 버전들로 구성된 카피스트라노 관리 디렉터리<br />

가 생성되는데, 이전 버전으로 되돌려야 할 경우를 대비해 5개 이상의 애플리케이션 배포 디렉<br />

터리가 유지된다. 또한 카피스트라노는 애플리케이션의 현재 배포 버전 디렉터리를 가리키는<br />

심볼릭 링크인 current/ 디렉터리를 생성한다. [예제 9-1]은 프로덕션 서버에 구성된 카피스<br />

트라노 관리 디렉터리의 예시 구조다.<br />

예제 9-1 예제 디렉터리 구조<br />

/<br />

home/<br />

deploy/<br />

apps/<br />

my_app/<br />

current/<br />

releases/<br />

release1/<br />

release2/<br />

release3/<br />

release4/<br />

release5/<br />

프로덕션에 새 애플리케이션 버전을 배포할 때 카피스트라노는 먼저 깃 저장소에서 애플리케<br />

이션 코드의 최신 버전을 검색한다. 다음으로 신규 버전 디렉터리에 애플리케이션 코드를 배치<br />

하고, 마지막으로 심볼릭 링크 디렉터리 current/를 신규 버전 디렉터리와 연결한다. 애플리케<br />

이션을 이전 버전으로 되돌릴 때는 current/ 링크가 가리키는 대상을 이전 버전 디렉터리로 변<br />

경만 하면 된다. 이처럼 카피스트라노는 우아하면서도 간결한 배포 솔루션이며, 카피스트라노<br />

를 통해 단순하고, 예측 가능하며, 가역적인 방법으로 <strong>PHP</strong> 애플리케이션을 배포할 수 있다.<br />

9장 배포<br />

75

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!