capistrano3 + git ã§ submodule ãä¸ç·ã«ãããã¤ãããå ´å
çã¾ãã¦åãã¦ï¼ï¼ï¼git submodule ã使ã£ãæ°ãããã
capistrano3 ã§ submodule ãå«ããªãã¸ããªããããã¤ãããã¨ããã¨ã
submodule ã®å
容ã¯ç©ºã£ã½ã«ãªã£ã¦ã¾ããã
capistrano2 ã ã¨ã
set :git_enable_submodules, 1
ããã§ããããã ãã©ãããã¨æã£ã¦èª¿ã¹ã¦ããããtask ã追å ãã¦ãããã¨ããæ¹æ³ããããããã
以ä¸ã«ãtask ã®ã³ã¼ãããã®ã¾ã¾å¼ç¨ã
namespace :git do desc 'Copy repo to releases' task create_release: :'git:update' do on roles(:all) do with fetch(:git_environmental_variables) do within repo_path do execute :git, :clone, '-b', fetch(:branch), '--recursive', '.', release_path end end end end end
ããããlib/capistrano/tasks/git.cap ã¨ãã¦ä¿åãããã¨ã
試ãããã ãã©ããªãããã¾ããããªãããªãã§ããï¼ã¨æã£ã¦ Capfile ãè¦ãã¨
æ«å°¾ã«ä»¥ä¸ã®ãããªè¨è¿°ããã£ãã
# Loads custom tasks from `lib/capistrano/tasks' if you have any defined. Dir.glob('lib/capistrano/tasks/*.rake').each { |r| import r }
æ¡å¼µåã rake ã®ãã¡ã¤ã«ãèªã¿è¾¼ãããã«ãªã£ã¦ããã
ã¨ãããã¨ã§ãlib/capistrano/tasks/git.rake ã«ååã夿´ãããããã¾ããã£ãã¨ããã話ã(´ã»Ïã»`)