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