Wie kann ich die AMI-ID im Jenkins EC2-Plugin remote aktualisieren?

8

Ich habe nach einer Möglichkeit gesucht, die AMI-ID in der Konfiguration des Jenkins EC2-Plugins zu aktualisieren, nachdem ein Packer-Build ausgeführt wurde. Nach einigem Graben fand ich einen vielversprechenden Weg , es zu tun , WENN der Packer Lauf von Jenkins erfolgt selbst, über postbuild groovy Plugin (wohlgemerkt bleibt dies getestet werden, aber sieht gut aus )

Ich möchte jedoch in der Lage sein, den Packer-Build überall auszuführen und die resultierende AMI-ID bei Jenkins remote zu aktualisieren, vermutlich über authentifizierten REST? Ist das möglich? Wo würde ich anfangen zu suchen?

Michael Bravo
quelle
Ich benutze es nicht, aber ich würde das Problem mit einem regelmäßigen Job lösen, bei dem Jenkins selbst die Ami-ID von aws ec2 description-images
erhält

Antworten:

6

Die PR, auf die Sie verlinken, enthält einen Link zu einem Python-Skript , das genau dies tut, da Sie dieses Skript von jedem Ort aus ausführen können, an dem Sie auf Ihren Jenkins-Server zugreifen können.

Michael Pereira
quelle
3

Das Python-Skript aus der obigen PR wurde aktualisiert mit:

  • CSRF-Unterstützung für eine bessere Zusammenarbeit mit Jenkins 2.x.
  • volle Unterstützung für private Jenkins-Jobs

Außerdem habe ich einige Gebrauchsanweisungen geschrieben.

Thanh
quelle
0

Für mich ist es am besten, am Ende Ihres packer.json einen Anruf beim Manifest - Postprozessor zu tätigen .

Dies enthält die vollständigen Details des AMI, das Sie im JSON-Format erstellt haben.

zB "artefakt_id": "us-west-1: ami-XXXXXXXX",

Dies kann dann von jedem Werkzeug Ihrer Wahl gelesen und bearbeitet werden.

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

Marcus Adams
quelle