我正在使用打包程序和 bash + salt 配置在 AWS 中构建自定义 AMI。但是,我需要能够将一些变量从本地环境传递到构建系统,而我在使用“ebp”(awsebcli 的“eb 平台”)构建时确实不知道该怎么做。
我的打包程序 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`}}"
我知道如果我在本地运行 packer,那就足够了。但是,我只运行“ebp create”,packer 在 EC2 中的远程构建环境中运行。
我需要在哪里定义 MY_BUILD_APP_NAME 和 MY_BUILD_ENV_NAME,以便打包程序构建器环境可以使它们可供 bash 配置程序使用?
谢谢!