gpt4 book ai didi

svn - 如何发布Web应用程序?

转载 作者:行者123 更新时间:2023-12-04 00:43:24 25 4
gpt4 key购买 nike

我真的不知道如何在 Web 开发中正确执行从离线开发到实时 Web 服务器的部署。我主要依靠直觉,但这或多或少是我到现在为止所做的:我有一个使用 python 或 php 编写的 Web 应用程序,并且我将它托管在实时网络服务器上。我使用的是离线开发版本,其源代码在 svn 下。

现在,当我开发离线版本时,我将对 svn 执行提交。当发布时间到了,我可以:

  • 将代码从离线服务器复制到实时网络服务器上的临时目录,然后将旧代码库与新代码库交换(例如,使用链接),或者...
  • 让实时网络服务器在结帐 svn 上工作,然后运行 ​​svn update。

  • 我通常会做第二个,尽管如果我必须在实时部署之前升级数据库,我通常会编写升级 sql 脚本,并首先在实时数据库上运行它们,然后结帐。

    此任务的最佳实践是什么?

    最佳答案

    我建议利用 SVN 导出而不是结帐。这样,您就不会向全世界公开任何 SVN 文件。它还通常会创建一个更清晰的文件夹结构。

    我之前在舞台和生产之间移动文件时利用过 rsync。

    我的典型部署过程如下:

  • 备份生产站点
  • 从备份还原到暂存服务器
  • 从所有外部 IP 地址锁定服务器
  • 将代码从存储库导出到临时文件夹(可选择将两个文件夹进行比较以进行小的更改)
  • 将临时文件夹中的 rsyc 文件复制到舞台服务器文件夹
  • 验证只有您希望更改的文件实际上已更改。
  • 将 SQL 脚本应用到数据库
  • 测试升级
  • 解锁网络服务器

  • 现在,要部署到生产环境,请快速重播这些步骤。使用脚本使它变得更容易。

    关于svn - 如何发布Web应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1262283/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com