【问题标题】:git pull or git checkout to deploygit pull 或 git checkout 部署
【发布时间】:2018-02-15 04:22:32
【问题描述】:

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

git 拉

在工作目录(/var/www/myproject)中

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

两者都需要在裸仓库中添加一个接收后挂钩。我对两者都进行了测试,它们都可以,但是最佳实践是什么?

【问题讨论】:

    标签: git deployment live


    【解决方案1】:

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

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

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

    您可以使用 Jenkins、GoCD、TeamCity 等作为 CI 服务器。

    【讨论】:

    猜你喜欢
    • 2017-03-28
    • 1970-01-01
    • 1970-01-01
    • 2012-04-26
    • 2014-03-09
    • 1970-01-01
    • 1970-01-01
    • 2020-03-25
    相关资源
    最近更新 更多