考虑实时更新的Git部署工作流 我在找什么

考虑实时更新的Git部署工作流 我在找什么,git,deployment,hosting,Git,Deployment,Hosting,我们正在寻找一个Git主机,该主机通过Git进行web可管理的部署。我发现的大多数部署软件都使用FTP,如果在live server上进行了更新(我们的一些脚本会偶尔生成代码更改),那么如果存储库具有相同的修改文件(否则会发生合并冲突),FTP似乎会将实时更改吹走。我们试过beanstalk、springloops和deployhq 当前工作流 我们目前有一个繁琐的部署过程,包括提交实时代码并将其推送到Git服务器,然后拉到开发人员机器,解决任何合并冲突,然后推回到Git服务器,然后拉到实时服务

我们正在寻找一个Git主机,该主机通过Git进行web可管理的部署。我发现的大多数部署软件都使用FTP,如果在live server上进行了更新(我们的一些脚本会偶尔生成代码更改),那么如果存储库具有相同的修改文件(否则会发生合并冲突),FTP似乎会将实时更改吹走。我们试过beanstalk、springloops和deployhq

当前工作流 我们目前有一个繁琐的部署过程,包括提交实时代码并将其推送到Git服务器,然后拉到开发人员机器,解决任何合并冲突,然后推回到Git服务器,然后拉到实时服务器


是否有人知道有一种服务可以通过Git进行差异部署,如果存在合并冲突,则可能不会进行部署,并且只是警告差异?这可能也是Git托管服务本身

更新 我制作此信息图是为了帮助显示我们当前的工作流程,以及我们希望如何拥有我们的工作流程:


有关我们日常使用的基于git的部署策略,请参见下面的答案。 每次更新它都会部署到一个新目录中,因此服务器上永远不会有合并冲突。我强烈建议不要编辑已部署的代码,但每个人都有自己的代码


这不是一个托管服务,但是,它自己做。因此,它不能完全回答您的问题,但值得注意。

啊,是的,如果我们能够避免,我们就不会有实时代码更改。不幸的是,我们正在处理基于某些管理事件生成和修改文件的遗留代码。你的链接让我想起了Capistrano部署方法。然而,我仍然没有看到一个平稳的方式来考虑实时变化。一旦旧代码被替换,这可能是“有一天”的奢侈品。不在Git中跟踪这些文件怎么样?让它们在更新之间保留在服务器上。因为它可能会修改我们也为代码库更改而修改的文件。真的很烦人我为你感到难过。我将尝试隔离正在更改的文件。除此之外,您可以考虑将生产服务器作为远程从您的DEV机器中添加,这样您就可以跳过推/拉到GITHUB(GIT主机)等。