Я создаю собственный 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?
Спасибо!