如何 运行 现有的 aws amplify 项目
How to run an existing aws amplify project
有人要求我处理现有的 aws amplify
reactJs
项目。通常我会简单地从 github 或 bitbucket 克隆项目 repo,但这个项目是一个放大项目,需要一整套配置。我在 cli 上设置了几个 aws 配置文件,并且可以访问该项目的 aws cludservices,但无法在本地 运行 应用程序,因为我的 aws-exports.js
文件中没有所需的验证配置.
根据现有项目的 amplify cli docs,我应该可以 运行 amplify init --app https://bitbucket.org/brooklynva/brooklyn-ocr-poc.git
。然而,这尝试更新 aws 上的 cloudformation 堆栈,谢天谢地失败了。它更新了 aws-exports.js
文件,但只更新了这个:
// WARNING: DO NOT EDIT. This file is automatically generated by AWS Amplify. It will be overwritten.
const awsmobile = {
"aws_project_region": "us-east-2"
};
export default awsmobile;
然后我发现 运行ning amplify pull --frontend
和我放入 bash 文件中的一些其他参数等同于 运行ning git pull
. 运行执行该命令后,配置文件中仍然没有任何更新。
#!/bin/bash
set -e
IFS='|'
REACTCONFIG="{\
\"SourceDir\":\"src\",\
\"DistributionDir\":\"build\",\
\"BuildCommand\":\"npm run-script build\",\
\"StartCommand\":\"npm run-script start\"\
}"
FRONTEND="{\
\"frontend\":\"javascript\",\
\"framework\":\"react\",\
\"config\":$REACTCONFIG\
}"
amplify pull \
--frontend $FRONTEND \
--yes
所以我的问题仍然存在,我如何从现有项目启动一个已经存在的 aws amplify
应用程序并在本地生成 运行 该应用程序所需的配置文件,而无需创建该应用程序的人, 与我共享该配置文件?
您需要创建或使用现有的 Amplify 环境
检查可用的环境
amplify env list
类似于git,它将显示环境列表(将其视为git上的分支)
查看现有环境之一或为您创建一个新环境,Amplify 允许您创建一个环境,例如,为特定用户创建环境,即:dev-myuser
amplify env checkout <exising-environment>
或
amplify env add
add
命令是交互式的,会询问您几个问题来设置您的环境
在那之后,你应该aws-exports.js
设置
然后推送更改
amplify push
关于 Amplify 环境的更多详细信息:
https://read.acloud.guru/multiple-serverless-environments-with-aws-amplify-344759e1be08
来自官方文档:https://aws-amplify.github.io/docs/cli-toolchain/quickstart#environments-and-teams
对我来说有用的是使用 amplify init
命令传递 appId 而不是 repo url。例如。 amplify init --appId YOUR_APP_ID
在我的案例中,流程是:
git clone (link to project)
yarn
(或npm i
)
npm install -g @aws-amplify/cli
amplify configure
amplify pull --appId (your app id) --envName (env name)
yarn start
/ npm run start
3,4 的文档 - https://docs.amplify.aws/cli/start/install/#option-2-follow-the-instructions
5 的命令可以从放大控制台复制
有人要求我处理现有的 aws amplify
reactJs
项目。通常我会简单地从 github 或 bitbucket 克隆项目 repo,但这个项目是一个放大项目,需要一整套配置。我在 cli 上设置了几个 aws 配置文件,并且可以访问该项目的 aws cludservices,但无法在本地 运行 应用程序,因为我的 aws-exports.js
文件中没有所需的验证配置.
根据现有项目的 amplify cli docs,我应该可以 运行 amplify init --app https://bitbucket.org/brooklynva/brooklyn-ocr-poc.git
。然而,这尝试更新 aws 上的 cloudformation 堆栈,谢天谢地失败了。它更新了 aws-exports.js
文件,但只更新了这个:
// WARNING: DO NOT EDIT. This file is automatically generated by AWS Amplify. It will be overwritten.
const awsmobile = {
"aws_project_region": "us-east-2"
};
export default awsmobile;
然后我发现 运行ning amplify pull --frontend
和我放入 bash 文件中的一些其他参数等同于 运行ning git pull
. 运行执行该命令后,配置文件中仍然没有任何更新。
#!/bin/bash
set -e
IFS='|'
REACTCONFIG="{\
\"SourceDir\":\"src\",\
\"DistributionDir\":\"build\",\
\"BuildCommand\":\"npm run-script build\",\
\"StartCommand\":\"npm run-script start\"\
}"
FRONTEND="{\
\"frontend\":\"javascript\",\
\"framework\":\"react\",\
\"config\":$REACTCONFIG\
}"
amplify pull \
--frontend $FRONTEND \
--yes
所以我的问题仍然存在,我如何从现有项目启动一个已经存在的 aws amplify
应用程序并在本地生成 运行 该应用程序所需的配置文件,而无需创建该应用程序的人, 与我共享该配置文件?
您需要创建或使用现有的 Amplify 环境
检查可用的环境
amplify env list
类似于git,它将显示环境列表(将其视为git上的分支)
查看现有环境之一或为您创建一个新环境,Amplify 允许您创建一个环境,例如,为特定用户创建环境,即:dev-myuser
amplify env checkout <exising-environment>
或
amplify env add
add
命令是交互式的,会询问您几个问题来设置您的环境
在那之后,你应该aws-exports.js
设置
然后推送更改
amplify push
关于 Amplify 环境的更多详细信息: https://read.acloud.guru/multiple-serverless-environments-with-aws-amplify-344759e1be08
来自官方文档:https://aws-amplify.github.io/docs/cli-toolchain/quickstart#environments-and-teams
对我来说有用的是使用 amplify init
命令传递 appId 而不是 repo url。例如。 amplify init --appId YOUR_APP_ID
在我的案例中,流程是:
git clone (link to project)
yarn
(或npm i
)npm install -g @aws-amplify/cli
amplify configure
amplify pull --appId (your app id) --envName (env name)
yarn start
/npm run start
3,4 的文档 - https://docs.amplify.aws/cli/start/install/#option-2-follow-the-instructions
5 的命令可以从放大控制台复制