Archives
12-05 11:00
Today
7
Total
287,855
관리 메뉴

FILife

[공통] vendor 디렉토리를 제외한 저장소를 통해 capistrano로 배포하기 본문

내가 자꾸 까먹어서 쓰는 개발 이야기/Laravel

[공통] vendor 디렉토리를 제외한 저장소를 통해 capistrano로 배포하기

FIL 2017. 2. 15. 17:34
728x90

https://github.com/capistrano/composer


위 url로 접속해보면 capistrano의 composer 플러그인이 있다.


우리는 capistrano를 설치하느라 ruby gems가 설치되어 있으므로(?) 간단히 커맨드를 입력하여 설치해보자.


$ gem install capistrano-composer

{배포할_프로젝트_디렉토리}/capistrano/Gemfile 을 선호하는 에디터로 열어 다음 줄을 추가한다.


require 'capistrano/composer'


프로젝트 내의 bootstrap/cache/.gitignore 파일을 저장소에 추가해 둔다. (해당 경로가 없으면 오류가 난다.)



{배포할_프로젝트_디렉토리}/capistrano/config/deploy.rb 파일에 아래 내용을 추가한다.


(라이브 서버의 /var/www/project/ 디렉토리에 배포 된다고 가정)


task :permission_cache do
on roles :all do
execute :chmod, '777 /var/www/project/bootstrap/cache'
end
end
after "deploy:finished", "permission_cache"

storage 디렉토리 등이 필요한 경우 linked_dirs 옵션에서 설정 해 둔다.


늘 하던대로 cap {stage} deploy 명령을 실행하면 


저장소에서 내려받기 > composer install > 마지막에 추가한 bootstrap/cache 디렉토리 권한설정 의 순서로 작업이 수행된다.


코드저장소에는 composer.json만 가지고 있으면 된다.

0 Comments
댓글쓰기 폼