【问题标题】:Best solutions to deploy from git to production? [closed]从 git 部署到生产的最佳解决方案? [关闭]
【发布时间】:2010-10-04 06:05:20
【问题描述】:

我和我的联合创始人正在为我们的创业公司设置服务器。我们使用 git 进行源代码控制,项目是 django,通过 Ubuntu 上的 fcgi 坐在 nginx 后面。由于我们才刚刚开始,并且为了让我们双方都轻松部署,我想在服务器上创建一个简单的部署脚本,它会自动从 git 中提取最新的代码更改,然后部署它们。

我知道我可以手动编写一个 bash 或 python 脚本来执行此操作,但我希望首先了解是否有其他相对易于使用的软件解决方案可以配合使用。在这个阶段,我们对持续部署还没有兴趣,但我认为该领域中可能有一些包对我们有用。

【问题讨论】:

    标签: git deployment


    【解决方案1】:

    有几个选项:

    1. 在服务器上托管一个 git 存储库以推送到,它会自动签出最新版本。 More on this here,也请查看此detached git tree 解决方案。

    2. 使用类似fabricrsync 或类似的东西。

    通常我会有一个内联 git 存储库,其中包含特定分支(通常是“实时”)的更新后挂钩设置。然后在我的笔记本电脑上使用git remote add -t live live ssh://...git push live 来推动事情的发展。您还需要重新启动 Django 服务器以使新代码生效(可以在挂钩或 ssh/fabric 中执行此操作)。

    对于未来的项目,我正在尝试将分离的 git 树(看起来更优雅)与织物相结合。

    【讨论】:

    • 几个小时前我正在阅读有关织物的信息。我明天再仔细看看。谢谢。
    • “分离的 git 树”解决方案似乎很有趣!感谢您的提示。
    【解决方案2】:

    git archive <release-branch> | tar -x -C /path/to/live/site 真的需要工具吗?

    【讨论】:

    • 尽管(假定?)狡猾,但感谢您提供的信息。我主要是一名前端开发人员,在系统管理方面只有中等水平的技能,所以我不得不很快将很多这些东西整合在一起。
    • 抱歉,没有恶意;我只是在深夜没有真正注意我的措辞。 :)
    • 此解决方案如何处理从您的代码中删除的文件?还是移动的文件?
    猜你喜欢
    • 2021-10-30
    • 2013-06-11
    • 2010-10-08
    • 1970-01-01
    • 2013-10-19
    • 1970-01-01
    • 2010-09-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多