部署git pull或git checkout

时间:2017-09-06 15:34:43

标签: git deployment live

部署到服务器的正确方法是什么?是

  

git pull

工作目录中的

(/ var / www / myproject)

  

git --work-tree = / var / www / myproject --git-dir = / srv / git / myproject.git checkout -f

两者都需要在一个裸仓库中的后接收挂钩。我测试了它们,它们都以任何方式工作,但最佳实践是什么?

1 个答案:

答案 0 :(得分:3)

您不应该在服务器中使用git repo来触发构建。您应该将存储库和部署服务器分开。

最好的方法是使用post-receive(push)挂钩来触发CI服务器中的构建。然后CI可以打包整个服务器代码并更改配置,然后复制到目标服务器,停止旧服务器,执行一些升级并启动新服务器。

好的一点是,您可以使用符号链接切换旧代码和新代码,以减少复制时的不一致。

您可以将Jenkins,GoCD,TeamCity等用作CI服务器。