将Symfony2项目发布到Web上

时间:2012-08-27 06:21:03

标签: symfony web-deployment

我几乎完成了使用Symfony2开发的项目的开发,并希望将项目放到网上。

但是,我想有很多事情需要做,以便一切正常。我想,开发模式需要被禁用等等......需要做什么以及如何做?

Symfony2项目最重要的事情是什么,网络上的每个人都可以使用它?

4 个答案:

答案 0 :(得分:6)

我建议您使用Capifony进行部署。它开箱即用,你可以让它运行你需要的任何自定义命令。有关详细信息,请参阅其文档。

关于开发模式,除非您从app_dev.php中删除了IP检查,否则您不必担心部署它。当然,如果您愿意,可以告诉Capifony在部署时将其删除。

答案 1 :(得分:3)

处理部署的最佳方法是创建“构建”脚本,该脚本将:

  1. 使用捆绑包和供应商的测试删除所有文件夹和文件。
  2. 删除app_dev.php文件
  3. 确保app/cacheapp/logs完全可写/可读。
  4. 将您的项目打包到存档(rpm f.e。)
  5. 然后,在部署之前,您应该在项目中创建标记 - 这意味着,您的应用程序的某个版本已发布(我建议您遵循此git branching model)。

    1. 创建标记。
    2. 运行构建脚本
    3. 将存档上传到主机
    4. 解压
    5. 享受您的项目

答案 2 :(得分:3)

我目前正在研究同样的事情。

您必须考虑的第一件事是您想要部署的“专业性”。你可以使用很多工具:

  1. Continitance Integration Server(例如Hudson,Jenkins)
  2. 构建工具(例如Phing,Capistrano - > Capifony,Shell脚本)
  3. 版本控制工具(例如Git,SVN)
  4. 我认为最简单的设置只使用Build工具,我猜你已经在使用某种版本。

    根据您使用的工具,设置不同,但我认为您的应用程序应考虑一些事项(可能并非所有工具都适用于您的应用程序)

    • 在版本控制中创建标记
    • 在生产中的文件夹中复制新代码 - >如果你在一个新的文件夹中,你不需要清除缓存和日志,因为这些不应该在你的版本控制中第一次。
    • 加载作曲家(如果你正在使用它)
    • 安装供应商
    • 更新数据库架构
    • 从您的捆绑包中安装资产
    • 将符号链接从当前版本移动到新网站的文件夹

    这些是我目前生产部署应用程序所需的内容,如果部署到测试环境,则应加载fixture并运行测试脚本。

答案 3 :(得分:0)

另一个非常好描述的选项here是使用 Apache Ant 部署Symfony2应用程序。 Apache Ant是一个Java库和命令行工具,其任务是将构建文件中描述的进程作为目标和扩展点相互依赖。