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?
Antworten:
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.
quelle
Das Python-Skript aus der obigen PR wurde aktualisiert mit:
Außerdem habe ich einige Gebrauchsanweisungen geschrieben.
quelle
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
quelle