2010-02-15 8 views

Respuesta

2

La estrategia básica es que se crea una acumulación (bueno, básicamente una copia de su aplicación web que se puede poner en línea) en su máquina local, y luego implementarlo en el servidor.

2

Lo ejecuta en su máquina local y PHPing se conectará al servidor de producción e implementará el sitio web. :)

+0

¿Cómo realizo el último paso? ¿Cuál es la tarea correspondiente de Phing? ¿Es una transferencia FTP/SFTP normal? – user272138

+0

FtpDeployTask y ScpTask, creo. Voy a darle una oportunidad. Gracias a todos los contestadores. – user272138

2

Phing se puede aplicar de muchas maneras.

Si no tiene instrucciones sobre cómo implementar, la mejor manera es primero generar una "compilación de prueba" a partir de su copia local, verificar si funciona según lo previsto y luego generar la compilación productiva.

En algunos casos en los que hay que seguir ciertas reglas en su desarrollo entorno se pueden adaptar fácilmente Phing para satisfacer esas demandas.

5

lo general, tendrá dos desplegar las escrituras - una que se ejecuta localmente, lo que SSH en el servidor remoto y luego da inicio a la secuencia de comandos a distancia.

Su script local puede hacer un svn export, comprima el contenido y empújelos (scp) primero al servidor remoto. El script remoto haría cosas como migrar, reiniciar servicios, etc.

0

Puede hacerlo de ambas formas. Puede ejecutar la herramienta localmente mientras se desarrolla para ejecutar pruebas y, en general, asegurarse de que su código esté en buenas condiciones. La automatización del servidor (si elige hacerlo) también puede ejecutar pruebas, generar documentación e implementar cambios en las configuraciones de prueba o producción.

Hacerlo localmente reduce la posibilidad de que el proceso va a quedar bloqueado en la configuración del servidor, mientras que el CI trabaja sobre una base regular para asegurar que nada se ha roto a través de error.

1

Desarrollé un guión de implementación de phing y lo he usado de las dos formas que ha descrito. Siempre que la biblioteca y las dependencias de phing estén instaladas localmente o en la máquina remota, puede hacerlo de ambas maneras, y en realidad es una ventaja poder ejecutarla desde cualquiera de sus entornos.

Déjeme explicar mi experiencia, pero tenga en cuenta que cada persona vive dentro del microcosmos de las necesidades y requisitos de sus propios proyectos/estudios, por lo que es posible que lo que funcione para mí no funcione para otras personas.

creo despliegue suele ser tan importante para una empresa que tiene que suceder de la misma manera exacta cada vez. Cuando hay una multitud de personas haciendo las implementaciones, entonces es fácil que los malos hábitos o procedimientos diverjan y es cuando pueden ocurrir errores. Las implementaciones automatizadas con phng son prácticas porque si todos usan el mismo procedimiento, existe un potencial de errores mucho menor. Phing hace que sea fácil seguir procedimientos estrictos, ya que lo único que tienen que hacer los desarrolladores es ejecutar comandos simples como "implementación de phing" o "creación de phing" o lo que sea.

Volviendo a su pregunta original, también es útil que se cumplan estos procedimientos en máquinas de desarrollo local, así como en servidores de etapas, pruebas y producción porque, al igual que las personas, las máquinas pueden tener pequeñas ideosincracias que difieren de la máquina a máquina.Con phing, puede desarrollar una secuencia de comandos que tendrá los mismos resultados en cualquiera de sus máquinas de la empresa (dependiendo de la fuerza y ​​la intención de su código, pero que viva vidas en un formato que hace que sea fácil cumplir con ese ideal). Entonces, si ejecuta su compilación de phing desde su caja de desarrollo, idealmente tiene el mismo efecto si la ejecuta desde su caja de prueba o su servidor de producción. Si puede ejecutar la implementación de la misma manera en cualquier máquina, puede estar seguro de que cualquier problema que surja después de la implementación no fue el resultado de sus procedimientos de implementación (ya que no diferirán de cuando implementó su prueba o la casilla de desarrollo local) .

Es realmente agradable poder implementar mi código en mi máquina local con el mismo procedimiento que uso para implementarlo en producción.

En cuanto a lo que es mejor hacer, digo, ¿por qué no todo lo anterior? Si puede ejecutarlo localmente, puede ejecutarlo de forma remota. Si los procedimientos de implementación son fuertes, el resultado será el mismo.

Cuestiones relacionadas