Cómo configurar un flujo de trabajo de server de desarrollo único multiusuario con PhpStorm

Actualmente estamos utilizando Aptana Studio, pero queremos cambiar a PhpStorm. Pero evaluando a PhpStorm, me atrapó un flujo de trabajo correcto, no pude encontrar ningún ejemplo. Entonces aquí está nuestro ambiente básico:

Un server de desarrollo Debian 7

  • La carpeta raíz de htdocs es accesible a través de Samba
  • Cada desarrollador tiene una copy de trabajo SVN del proyecto en la carpeta raíz de htdocs
  • No tenemos estaciones de trabajo fijas para desarrolladores (pueden conectarse en una máquina Windows diferente cada día)
  • Cada máquina de Windows tiene instalado Aptana Studio (y Ruby para SASS / Compass / Foundation)
  • Tienen una unidad de networking de Windows asignada a su carpeta de copy de trabajo en el server de desarrollo

Esta configuration funcionó bastante bien con Aptana Studio. Cada desarrollador puede actualizar / comprometerse fácilmente con el repository SVN en el server de producción (y testing). A través del LAMP que se ejecuta en el server de desarrollo, pudieron ver al instante los cambios (compás fue comstackdo a través de un script de construcción en Aptana).

Ahora traté de trabajar de esta manera con PhpStorm, pero ocurrieron algunos problemas importantes:

  1. Tratar de trabajar en la copy de trabajo a través de la unidad de networking mapeada es bastante lento (PhpStorm también me advierte sobre eso) y a veces tengo errores de networking SVN
  2. Tratar de usar la configuration recomendada, donde los files se descargan localmente y se sincronizan con el server remoto tampoco funcionó

Con la segunda configuration no pude interactuar con el repository, ya que los files copydos localmente no son copys de trabajo de SVN.

  • Instalar un WAMP en cada máquina de Windows no es una opción
  • Usar VCS solo a través de un terminal tampoco es una opción, ya que tenemos algunos no desarrolladores que requieren una GUI
  • El uso de la copy local tampoco es óptimo, ya que los usuarios cambian de cliente con bastante frecuencia y tendrían que volver a download todos los files (la synchronization de todos los files en su perfil de usuario también sería problemática, ya que el proyecto es bastante grande)

Reconocí que una carpeta compartida de uno de nuestros serveres de Windows es mucho más eficiente que a través del recurso compartido de Sambs.

Entonces, ¿cómo configurar un entorno como este para que PhpStorm tenga un IDE rápido y aún así poder tener un solo sistema LAMP para los usuarios que cambian de cliente todos los días?

PD. También me encantaría usar el server de desarrollo haciendo la compilation de la brújula, pero podría vivir con la configuration actual, donde cada cliente de Windows los está comstackndo.

Pruebe la siguiente configuration:

  • código de salida de svn en la máquina de desarrolladores
  • montar el server de desarrollo compartido en una máquina de desarrollador como una unidad de networking en Windows
  • en la configuration: implementación: configure la carpeta "local o montada" y apunte a la unidad montada desde el server de desarrollo y guárdela con algún nombre.
  • en herramientas \ deployment, select "Carga automática" y elija el perfil con el nombre del punto anterior

En este escenario, tendrá: código en ambas máquinas, pero las exploraciones de códigos, autocomplete, etc. se realizarán localmente. Lo mismo ocurre con las operaciones de VCS: serán locales. En cada guardado, se cargará un file al server de desarrollo, justo a time para actualizar el browser.

Si esto es demasiado lento para usted, intente optimizar la configuration de smb.

ps: pregunta adicional: en las versiones recientes de phpstorm existe la posibilidad de ejecutar tareas remotas (con ssh) para que pueda comstackr usando el atajo de keyboard.