¿Cómo actualizar remotamente la ID de AMI en el complemento Jenkins EC2?

8

He estado buscando una manera de actualizar el ID de AMI en la configuración del complemento Jenkins EC2 después de ejecutar una compilación de empaquetador. Después de investigar un poco, encontré una forma prometedora de hacerlo SI la ejecución del empaquetador la realiza Jenkins mismo, a través del complemento maravilloso posterior a la construcción (tenga en cuenta que esto aún no se ha probado, pero se ve bien)

Sin embargo, me gustaría poder ejecutar la compilación del empaquetador en cualquier lugar y actualizar el ID de AMI resultante en Jenkins de forma remota, presumiblemente a través de REST autenticado. ¿Es eso posible? ¿Dónde comenzaría a buscar?

Michael Bravo
fuente
No lo uso, pero abordaría el problema con un trabajo periódico en Jenkins mismo obteniendo la identificación ami de aws ec2 describe-images
Tensibai

Respuestas:

6

El PR al que se está enlazando contiene un enlace a un script de Python que hace exactamente esto, ya que puede ejecutar ese script desde cualquier lugar donde pueda acceder a su servidor Jenkins.

Michael Pereira
fuente
3

Se actualizó el script de Python del PR anterior con:

  • Soporte CSRF para trabajar mejor con Jenkins 2.x
  • soporte completo para trabajos privados de Jenkins

También escribí algunas instrucciones de uso.

Gracias
fuente
0

Para mí, el mejor lugar para comenzar es tener al final de su packer.json una llamada al postprocesador de manifiesto .

Esto contendrá los detalles completos de la AMI que ha creado en formato JSON.

por ejemplo, "artifact_id": "us-west-1: ami-XXXXXXXX",

Esto puede ser leído y aplicado por cualquier herramienta que elija.

Fuente: https://www.packer.io/docs/post-processors/manifest.html

Marcus Adams
fuente