Como passar variáveis de ambiente para o empacotador no AWS?

2

Estou criando uma AMI personalizada no AWS usando o provisionamento packer e bash + salt. No entanto, estou precisando ser capaz de passar algumas variáveis do meu ambiente local para o sistema de compilação e realmente não sei como fazer isso quando estiver usando o "ebp" ("eb platform" do awsebcli).

Meu packer json contém coisas como esta:

"variables": {
    "platform_name": "{{env 'AWS_EB_PLATFORM_NAME'}}",
    "platform_version": "{{env 'AWS_EB_PLATFORM_VERSION'}}",
    "platform_arn": "{{env 'AWS_EB_PLATFORM_ARN'}}",
    "build_app": "{{env 'MY_BUILD_APP_NAME'}}",
    "build_env": "{{env 'MY_BUILD_ENV_NAME'}}"
 },

e mais tarde:

"provisioners": [
    {
      "type": "file",
      "source": "builder",
      "destination": "/tmp/"
    },
    {
       "type": "shell",
      "execute_command": "chmod +x {{ .Path }}; {{ .Vars }} sudo {{ .Path }}",
      "scripts": [
         "builder/builder.sh"
      ],
      "environment_vars": [
          "AMI_BUILD_APP={{user 'build_app'}}",
          "AMI_BUILD_ENV={{user 'build_env'}}"

Eu sei que se eu fosse executar o packer localmente, isso seria suficiente. No entanto, só executo "ebp create" e o empacotador é executado no ambiente de compilação remota no EC2.

Onde preciso definir MY_BUILD_APP_NAME e MY_BUILD_ENV_NAME para que o ambiente buacer de empacotador os torne disponíveis para o provisionador de bash?

Obrigado!

    
por Andrei Dascalu 11.02.2018 / 17:17

0 respostas