所以我只想在我的服务器上设置Git,但是我遇到了一百万个问题,所以忘记了。
我可以设置一个正常的git repo,然后让我的网络服务器" auto"使用git repo同步(只读,我猜)
我只是2人团队中的一员,并且更愿意使用Git而不是任何其他版本控制。
答案 0 :(得分:5)
您可以从您的网络服务器拉,但推送到非裸存储库需要一些额外的步骤,并且可能会产生问题。正确的做法通常是使用webhook或部署工具,在提交到Git存储库时触发,但有更简单的选项,如服务器端cron作业。
获得所需功能的方法是使用cron作业。作为一个简单的例子,您可以每分钟轮询一次git存储库并进行更改,例如:
* * * * * cd /path/to/www && git pull
如果您的网络服务需要重新启动以利用已修改的资源,那么您显然也需要这样做。
如果您正在使用GitHub或其他托管存储库服务,您通常可以利用与AWS或Heroku等提供商的集成。特别是,Heroku很不错,因为每次推送到主分支都会重新编译和重新部署您的Web服务,而无需额外的操作。
有关详细信息,请参阅以下内容:
如果您有更复杂的要求,则可能需要更强大的部署工具。一个示例是Capistrano,它通常用于Ruby on Rails项目,但也可用于管理其他类型的应用程序和框架的部署。有些研究肯定会提供您可能更喜欢的其他部署工具,但这是一个合理的起点。
答案 1 :(得分:4)
从远程Git仓库自动部署的更简单的解决方案很可能包括使用部署服务。
考虑这个设置:
然后,请遵循以下常规工作流程:
注意:我希望您不会将自动部署用于任何可被视为关键的内容,例如您的公司网站