我有2个网站(分期和现场)。我希望有一个中央git仓库,我们从中推送和部署两个站点。
我还需要捕获暂存和实时网站上的代码发生的变化(插件安装,主题,扩展等)。我需要有关最佳结构的想法。
显然,我们的团队需要在本地保留中央仓库的工作副本。谢谢!
答案 0 :(得分:0)
我们使用的是两个分支master
和production
。通常开发发生在master
,在分段时签出。
一旦一切正常,我们将生产重置为掌握和强制推动。然后我们在现场检查production
。
执行所有这些操作的脚本会在执行所有操作之前验证实时没有未发送的更改。
对于需要在production
中完成的修补程序,我们有一个挑选策略:需要立即挑选需要转到master
的更改。
答案 1 :(得分:0)
您可以使用Capistrano进行多阶段部署来处理您想要的内容。正在部署的repo几乎可以驻留在应用程序服务器环境可以访问的任何地方。
例如,在最近的项目中,我们使用私有GitHub存储库作为部署存储库。我们在应用服务器上设置SSH密钥以使用GitHub进行身份验证,并且可以部署到暂存或生产,具体取决于我们从本地工作站发出的Capistrano命令。我们的本地Capistrano实例将远程(通过SSH)告诉应用服务器检出并从Github上的相应分支获取最新的自己的本地存储,将最新代码复制到新目录,然后查看任务清单(config修改,资产编译,数据库迁移等)。成功部署后,Capistrano告诉服务器切换到最新代码。任何打嗝,它只是回滚部署。
要部署的命令非常简单:cap deploy
或cap production deploy