【发布时间】:2020-08-15 04:05:43
【问题描述】:
我正在使用 Ansible 自动创建我的 Angular/Amplify 项目。我坚持在 Ansible 中运行 amplify init。 amplify init 需要使用向上箭头和向下箭头键来导航其菜单。
我可以使用 Ansible expect 接受默认值并为某些答案指定文字字符串,但需要箭头键来指定配置文件等内容。
【问题讨论】:
我正在使用 Ansible 自动创建我的 Angular/Amplify 项目。我坚持在 Ansible 中运行 amplify init。 amplify init 需要使用向上箭头和向下箭头键来导航其菜单。
我可以使用 Ansible expect 接受默认值并为某些答案指定文字字符串,但需要箭头键来指定配置文件等内容。
【问题讨论】:
AWS Amplify headless mode 允许您将 amplify init 参数指定为字符串文字,而无需使用箭头键导航菜单。我使用 --amplify 参数指定环境,使用 --providers 指定 Amplify 管理员配置文件。 --yes 表示接受其他所有内容的默认值。
这是我运行amplify init 的剧本。它假定您已经创建了 Angular(或其他框架)项目。这取决于预定义的变量amplify_project_dir 和amplify_project_administrator_profile:
- name: Initialize Amplify for this project
command:
chdir: "{{ amplify_project_dir }}"
cmd: >
amplify init
--yes
--amplify
{\"envName\":\"dev\"}
--providers
{\"useProfile\":true,\"profileName\":\"{{ amplify_project_administrator_profile }}\"}
creates: "{{ amplify_project_dir }}/amplify/"
JSON 参数值不得包含未转义的空格。 Jinja2 消除了{{ amplify_project_administrator_profile }} 中的空格。
【讨论】: