仅将源部署到应用服务器

时间:2014-02-10 13:45:35

标签: git capistrano capistrano3

我正在设置一个新的环境,其中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解决问题,但我如何才能将其设为默认设置,以便我的团队成员无需担心?

1 个答案:

答案 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/