Назад | Перейти на главную страницу

Как передать переменные среды упаковщику в AWS?

Я создаю собственный AMI в AWS, используя упаковщик и bash + salt. Однако мне нужна возможность передавать некоторые переменные из моей локальной среды в систему сборки, и я действительно не знаю, как это сделать при сборке с использованием «ebp» («платформа eb» от awsebcli).

Мой упаковщик json содержит такие вещи:

"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`}}"
 },

и позже:

"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`}}"

Я знаю, что если бы я запустил упаковщик локально, этого было бы достаточно. Однако я запускаю только команду «ebp create», а упаковщик запускается в среде удаленной сборки в EC2.

Где мне нужно определить MY_BUILD_APP_NAME и MY_BUILD_ENV_NAME, чтобы среда упаковщика делала их доступными для инициатора bash?

Спасибо!