代码之家  ›  专栏  ›  技术社区  ›  Exception e

使用共享项目代码处理php web应用程序开发和部署的建议

  •  1
  • Exception e  · 技术社区  · 15 年前

    我想知道什么是最好的方式(对于一个单独的开发人员)是

    1. 将结果项目部署到服务器

    我计划把我的代码在svn,并已作为一个单独的项目共享代码。有一些问题svn:外部我不能完全估计。

    我读过

    但是php项目(和其他解释的源代码)有一个特殊的地方:您的库不会产生最终的可执行文件。因此,外部依赖总是依赖于原始源代码。

    理想情况下,我真的希望能够发展 .

    可能的方法:

    1. 当您想要部署一个项目时,您可能想要冻结它的依赖项,对吗?
    2. 我认为,依赖项代码不应该在项目存储库中以重复的形式结束。

      *(更新1:我另外假设svn:忽略will如果我不能依赖符号链接,就会带来问题,请参见 my comment

    如何部署具有这种依赖关系的应用程序? 我已经研究了Python的BuildOut,但它似乎与Python生态系统(从web上解析和获取Python模块等)密切相关。

    我非常渴望了解你们的最佳做法。

    2 回复  |  直到 8 年前
        1
  •  1
  •   tosh    15 年前

    一种方法可能是:

    • 每个依赖项一个存储库
    • 处理开发、测试和部署环境的设置的自动化脚本(可以简单到只记录一次设置过程并使其可配置和可执行)

    • 您可以轻松(甚至自动)检查您的依赖项是否已过时(另一个更好的库可用),或者是否存在已知的安全漏洞。
    • 更多地了解依赖关系
    • 更容易调试/修复/修补由依赖关系引起的问题
    • 忽略svn:外部可能另外,在将来切换到git、bzr、hg等分布式版本控制时,还可以减轻痛苦。
    • 如果您想在另一台机器上设置您的环境(或最终由另一个开发人员接管或加入),这将为您节省大量时间

    web开发和服务器管理中流行的一些KISS自动化工具:

    总结:

        2
  •  0
  •   Community CDub    8 年前

    svn folder structure organization

    只要你呆在你自己的仓库里我就不会考虑了svn:外部组件如前所述有害。别做过头了。

    使用此策略部署也是小菜一碟,因为它是一个标签(签出、运行、利润)。您的目录结构在所有层、分支、标记和主干上保持不变。

    通过将external指向标记(并使标记在svn服务器上为只读),您可以100%确保获得所需的库。