我被要求从事现有的aws amplify
reactJs
项目。通常,我只是从github或bitbucket克隆项目存储库,但是该项目是一个放大项目,需要一整套配置。我在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;
因此,我然后发现,将amplify pull --frontend
与其他一些我放入bash文件中的参数一起运行相当于运行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
应用程序,并生成在本地运行该应用程序所需的配置文件,而无需创建应用程序的人与之共享该配置文件我吗?
答案 0 :(得分:2)
您需要创建或使用现有的Amplify环境
检查可用的环境
amplify env list
类似于git,它将显示环境列表(将其视为git上的分支)
签出一个现有环境或为您创建一个新环境,Amplify允许您为特定用户(例如:dev-myuser
amplify env checkout <exising-environment>
或
amplify env add
add
命令是交互式的,将询问您一些问题来设置您的环境
之后,您应该设置aws-exports.js
然后您推送更改
amplify push
有关放大环境的更多详细信息: https://read.acloud.guru/multiple-serverless-environments-with-aws-amplify-344759e1be08
摘自官方文档:https://aws-amplify.github.io/docs/cli-toolchain/quickstart#environments-and-teams
答案 1 :(得分:1)
对我来说,有效的是使用 amplify init
命令传递 appId 而不是 repo url。例如。 amplify init --appId YOUR_APP_ID