Git 仅将源部署到应用服务器

Git 仅将源部署到应用服务器,git,capistrano,capistrano3,Git,Capistrano,Capistrano3,我正在用Capistrano3建立一个新的环境,其中有一个单独的数据库服务器,它是db角色。这是我正在使用的规范: set :stage, "preview" server 'my-web-server', roles: %w{app web} server 'my-db-server', roles: %{db} 但是,它试图在我的db服务器上签出源代码,我不想要,甚至没有安装git。鉴于deploy任务是内置的,如何阻止capistrano这样做 我可以使用ROLES=app、web ca

我正在用Capistrano3建立一个新的环境,其中有一个单独的数据库服务器,它是db角色。这是我正在使用的规范:

set :stage, "preview"
server 'my-web-server', roles: %w{app web}
server 'my-db-server', roles: %{db}
但是,它试图在我的db服务器上签出源代码,我不想要,甚至没有安装
git
。鉴于
deploy
任务是内置的,如何阻止capistrano这样做


我可以使用
ROLES=app、web cap myenv deploy
解决这个问题,但是我如何将它设置为默认值,以便我的团队成员不必担心它?

默认情况下,Capistran不使用
远程
策略从Git获取源代码,这意味着服务器将尝试提取源代码

我认为你想要的是一个
本地
策略。在这种情况下,Capistrano可以从您的机器获取源代码,然后通过scp复制文件

它可以通过
deploy\u via
属性进行配置。正确的值是
copy


问题不在于代码的传输方式,而在于部署所针对的角色。
remote
策略对于
app
角色来说很好,但是我想要的是停止在
db
角色上进行部署,因为它不需要访问我们的源代码。好的。那么,我们可以看更多的conf文件吗?如果我仔细阅读了文档,我会使用role命令而不是server命令。比如:role:db,%w{my db server}(请参阅:)我在问题中添加了其余的配置。不幸的是,使用
角色
没有帮助