Comment mettre à jour à distance l'ID AMI dans le plugin Jenkins EC2?

8

Je cherchais un moyen de mettre à jour l'ID AMI dans la configuration du plugin Jenkins EC2 après l'exécution d'une version de packer. Après quelques recherches, j'ai trouvé un moyen prometteur de le faire SI l'exécution du packer est effectuée par Jenkins lui-même, via un plugin groovy post-construction (attention, cela reste à tester, mais semble bon)

Cependant, je voudrais pouvoir exécuter la compilation du packer n'importe où et avoir l'ID AMI résultant mis à jour à Jenkins à distance, probablement via REST authentifié? Est-ce possible? Où devrais-je commencer à chercher?

Michael Bravo
la source
Je ne l'utilise pas, mais je m'attaquerais au problème avec un travail périodique sur Jenkins lui-même, obtenant l'identifiant ami de aws ec2 describe-images
Tensibai

Réponses:

6

Le PR auquel vous vous connectez contient un lien vers un script python qui fait exactement cela, puisque vous pouvez exécuter ce script depuis n'importe où vous pouvez accéder à votre serveur Jenkins.

Michael Pereira
la source
3

Mise à jour du script python du PR ci-dessus avec:

  • Prise en charge CSRF pour mieux fonctionner avec Jenkins 2.x
  • prise en charge complète des emplois privés Jenkins

J'ai également écrit quelques instructions d'utilisation.

Thanh
la source
0

Pour moi, le meilleur endroit pour commencer est d'avoir à la fin de votre packer.json un appel au post-processeur manifeste .

Il contiendra tous les détails de l'AMI que vous avez créé au format JSON.

par exemple "artifact_id": "us-west-1: ami-XXXXXXXX",

Cela peut ensuite être lu et utilisé par n'importe quel outillage de votre choix.

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

Marcus Adams
la source