我正在设置一个新的环境,其中capistrano 3具有 db 角色的单独数据库服务器。这是我正在使用的规范:
set :stage, "preview"
server 'my-web-server', roles: %w{app web}
server 'my-db-server', roles: %{db}
但是,它会尝试检查 my-db-server 上的源代码,这是我不想要的,甚至没有安装git
。考虑到deploy
任务是内置的,我怎么能阻止capistrano这样做呢?
我可以使用ROLES=app,web cap myenv deploy
解决问题,但我如何才能将其设为默认设置,以便我的团队成员无需担心?
答案 0 :(得分:0)
默认情况下,Capistrano使用remote
策略从Git获取源代码,这意味着服务器将尝试提取源代码。
我认为您想要的是local
策略。在这种情况下,Capistrano可以从您的机器获取源代码,然后通过scp。
可通过deploy_via
属性进行配置。正确的值为copy
:
http://bu.chsta.be/blog/2013-02-24/capistrano-deployment-strategies-deploy-via-a-copy/