0

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

所以,问题是这样的:有 2 个开发人员,每个人都需要一个网站的 2 个版本(开发 + 生产)。由于非常不同的操作系统、三重配置困难和对它们的管理限制,不可能在本地运行项目。但是远程运行时会出现很多问题:

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

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

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

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

  1. Dev #1 在本地做一些事情,但是在运行时,更改会被移到服务器上,这样他就可以检查它是如何进行的beta1.sitename.com
  2. 每个更改都会在合适的时候提交到 git 中的用户分支。
  3. 测试后,更改将合并到 master,经过测试,拉到 a sitename.com,然后再次测试。
  4. 在此之后循环重复:)

PS。有效的答案也将暗示在这种情况下工作流程应该如何正确。我已经尝试过使用 post-* git 句柄,但它也没有很好地工作......

4

1 回答 1

1

首先,我强烈建议尝试解决开发机器问题。有vagrant可以与 chef 或 puppet(或专用虚拟基础机)一起使用,将开发环境移动到开发人员 pc 上执行的虚拟机中。这也将解决有关远程服务器的许多问题。

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

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

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

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

于 2012-06-13T10:33:38.257 回答