질문을 삭제하지 말아주세요.!
 
1
0
-1

로컬서버에서 개발하고 실서버에 반영할때 git으로 관리를 하는데요.

composer로 설치된것들은 실서버에서 별도로 composer install을 해주고있습니다.

그런데 이게 서버댓수가 늘어나게 되면 서버마다 들어가서 install 해주는것도 번거로운거 같아서요

전체서버에 동기화 하실때 어떻게 하고 계신가요?

(php만 사용한 사이트들은 소스 수정후 rsync를 통해 동기화를 했었습니다.

지금은 composer로 설치된 패키지들 이 있어서 rsync로 동기화해도 되는지 모르겠네요;)

    CommentAdd your comment...

    2 answers

    1.  
      2
      1
      0

      composer install 이 마지막 작업이라면 빌드가 완료된 상태(artifact)라 볼 수 있습니다. Rsync를 사용해도 무방합니다.

      다만 스케일아웃/인의 이점을 누리시려면, "배포 자동화"에 시간과 노력을 좀 더 들이는 것이 좋겠습니다. "코드형 배포"라는 키워드를 검색해 보시기 바랍니다. 한마디로 요약하면, 소스 코드에 배포 자동화 스크립트까지도 포함한다는 개념입니다. 대표적인 코드형 배포는 AWS의 CloudFormation의 stack, ElasticBeanstalk의 config, Dockerfile, Jenkinsfile 등이 있습니다. 정광섭님이 언급하신 envoy도 "코드형 배포"의 일종입니다.

      애플리케이션과 상호 작용하는 데이터 저장소(파일, DB, 세션, 캐치)를 별도 머신으로 분리하고, "코드형 배포"가 준비되면 아래 그림과 같은 전형적인 아키텍처를 구성할 수 있습니다 (서비스가 커지면 고려해 보세요).


      1. 박순재

        상세한 설명 감사합니다.

      CommentAdd your comment...
    2.  
      1
      0
      -1

      개인적으로 추천하는 방법은 laravel 의 envoy 를 이용하여 배포 절차를 ssh 로 수행하는 겁니다.

      envoy 는 주원님 책 461 p 에 있네요

      git pull origin master
      composer install
      기타 작업



      1. 박순재

        답변 감사합니다.

      CommentAdd your comment...