远程 Symfony2 + Netbeans 工作流(壮举


Remote Symfony2 + Netbeans workflow (feat. git)

我希望有人以前遇到过这个问题,并且能够提供帮助

所以,问题是这样的:有 2 个开发人员,每个开发人员都需要 2 个版本的网站(开发 + 生产)。由于操作系统非常不同,配置难度三重,并且存在管理限制,因此无法在本地运行项目。但是远程运行它们时存在很多问题:

  • 如何在 Netbeans 中运行 Symfony2 CLI 命令(因为这些命令需要访问数据库)?
  • 如何区分生产/开发?我允许外部访问 2 个 IP 地址的数据库,但只有一个parameters.ini文件。一旦它用于连接到本地主机(当通过 http 运行时),第二次它用于通过远程主机连接(当 CLI 命令在 netbeans 中运行时)

您可能会问更多信息,所以它在这里:

  • 开发 #1: Kubuntu 12.04 x64 3.2.0-25-通用 NB@7.1.2
  • 开发#2:视窗7 x64 NB@7.1.2
  • 服务器: Ubuntu 服务器 12.04 x64
  • SQL: PostgreSQL
  • 网络服务器:Apache2

我们的工作流程现在看起来(或至少应该看起来像)像这样:

  1. Dev #1 在本地执行某些操作,但在运行时更改正在移动到服务器,以便他可以检查它是如何进行的beta1.sitename.com.
  2. 每个更改都会在适当的时候提交到 git 中的用户分支。
  3. 测试
  4. 后,更改合并到主,测试,拉到sitename.com,然后再次测试。
  5. 在此之后,循环重复:)

有效的答案也将提示在这种情况下应该如何适当的工作流程。我已经尝试过使用 post-* git 句柄,但它也不是很好用......

首先,

我强烈建议尝试解决开发机器问题。有流浪者,可以与厨师或木偶(或专用的虚拟基础机)一起使用,将开发环境移动到开发人员PC上执行的虚拟机中。这也将解决有关远程服务器的许多问题。

如果无法做到这一点,这里有一些想法:

Netbeans 命令无法远程工作。让您的开发人员 ssh 进入机器并执行他们的命令。

我没有遇到您的开发/生产环境问题。他们应该至少在虚拟主机上为每个开发人员提供不同的配置/缓存/日志,以便可以正确设置配置。参数.ini不应该在你的 git 仓库中(你可以通过创建一个 parameters.ini.dist 并忽略参数.ini 文件来处理这个问题),所以你可以有不同的参数。另一个有趣的事情(在symfony live 2012 Paris上呈现)是你可以在apache vhost中做SET_ENV SMFONY_PARAMETER_NAME,然后在配置文件中使用%parameter.name%(注意两个underscorse)。这在您的情况下可能很有用。

据我所知,确实没有工作流程可以在一台具有不同配置等的机器上处理多个开发人员。这只是一团糟,您要么使用每次发生某些事情时都会运行的复杂脚本来解决您的问题,要么通过找到更好的解决方案来解决您的问题,例如虚拟机或服务器上具有不同目录的不同虚拟主机。