2009-09-12 15 views
6

Estoy usando phing para algún proceso de construcción automática en un proyecto, y me preguntaba: ¿cómo puedo obtener el registro completo por correo electrónico?phing: ¿enviar el registro completo por correo electrónico?


Cuando ejecuto phing por la línea de comandos, se visualiza el registro de construcción; Me gustaría que:

  • enviado por e-mail,
  • a varios destinatarios,
  • si la acumulación correctamente o no
  • lo ideal: con un asunto para el correo informándole si la acumulación se realizó correctamente o no
  • lo ideal: una especie de correo HTML, con formato, colores, ... sería bueno

he embargo sobre las tuberías que la salida de phing al comando mail, pero me gustaría una solución que funcione tanto en Linux como en Windows, y no requiera la instalación de ningún software adicional ...

¿Alguien tiene una idea?


Como comentario: He pensado en añadir algún tipo de objetivo "informe", lanzado a finales de la construcción, pero:

  • Se puso en marcha sólo si todos los objetivos anteriores no lo hicieron fallar
  • no veo cómo conseguir la plena-log en ella

Respuesta

0

Esto es algo que puede hacer sin necesidad de instalar software adicional suponiendo que usted es capaz de escribir un guión para un servidor Linux existen el acceso a los.

Haga que un script php use el comando exec() o system() para obtener el registro completo. Envíe esto como datos de entrada http usando curl a su script remoto en el servidor de Linux al que tiene acceso.

En el servidor tiene acceso para escribir una secuencia de comandos para aceptar la variable http post y enviar el contenido a su (s) dirección (es) de correo electrónico. Y usted podría pensar: "¡Oh, no, tengo acceso abierto a las personas que me envían correos electrónicos!" Si conocen su dirección o si tiene un formulario de contacto web ... el mismo trato. Así que esa es una solución;) Si la seguridad es una preocupación, envíela a través de https.

+0

¿Le resultó útil? Si no, puedo eliminarlo. –

3

Supongo que podría escribir un oyente/registrador de compilación Phing personalizado que maneje su caso de uso descrito. Eche un vistazo a este excelente blog post de Philip Norton, para que pueda continuar.

+0

¡Gracias por esta respuesta!Ya es un poco tarde (el proyecto en el que estaba trabajando está terminado ^^), pero podría intentarlo algún día, solo para saber cómo puedo hacer que esto funcione ;-) –

4

Gran idea; acaba de agregar un ticket para implementar esto @http://phing.info/trac/ticket/539

+1

Hola, me alegro de verte aquí ^^ ;; Totalmente había olvidado esta pregunta, desde el final del proyecto lo necesitaba para ... Pero, aún así, estoy bastante seguro de que esto será útil para alguien de un día para otro ;-) –

0

Usamos sth. como esto envuelto en un script php.

exec('phing' . $target . ' -f ' . $buildfile . ' | sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g"', $out); //remove bash color 
$info = implode("\n", $out); 
$subj = sprintf('Deployed %s', $catalogInfo['name']); 
mail($data->email, $subj, $info); 

Works fine.

Cuestiones relacionadas