Como atualizar remotamente o ID da AMI no plugin Jenkins EC2?

8

Eu estava procurando uma maneira de atualizar o ID da AMI na configuração do plugin Jenkins EC2 após a execução de uma compilação do empacotador. Após algumas escavações, encontrei uma maneira promissora de fazer isso, se a execução do empacotador for feita pelo próprio Jenkins, via plug-in groovy postbuild (lembre-se, isso ainda precisa ser testado, mas parece ser bom)

No entanto, eu gostaria de poder executar a compilação do empacotador em qualquer lugar e ter o ID da AMI resultante atualizado remotamente no Jenkins, presumivelmente via REST autenticado? Isso é possível? Onde eu começaria a procurar?

Michael Bravo
fonte
Não usá-lo, mas eu resolver o problema com um trabalho periódico sobre si Jenkins obter o ID de ami da AWS EC2 descrever-imagens
Tensibai

Respostas:

6

O PR ao qual você está vinculando contém um link para um script python que faz exatamente isso, pois você pode executá-lo de qualquer lugar em que possa acessar o servidor Jenkins.

Michael Pereira
fonte
3

Atualizado o script python do PR acima com:

  • Suporte do CSRF para funcionar melhor com o Jenkins 2.x
  • suporte completo para trabalhos particulares da Jenkins

Também escrevi algumas instruções de uso.

Thanh
fonte
0

Para mim, o melhor lugar para começar é ter, no final do seu packer.json, uma chamada para o pós-processador de manifesto .

Isso conterá os detalhes completos da AMI que você criou no formato JSON.

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

Isso pode ser lido e acionado por qualquer ferramenta de sua escolha.

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

Marcus Adams
fonte