Git 仅将源部署到应用服务器
我正在用Capistrano3建立一个新的环境,其中有一个单独的数据库服务器,它是db角色。这是我正在使用的规范: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
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}(请参阅:)我在问题中添加了其余的配置。不幸的是,使用角色
没有帮助