AWS Auth 参数在多个环境中被覆盖
AWS Auth parameters are overwritten in multiple env
我对每个环境都有不同的回调 url,如果我使用 amplify auth update
并修复 URL 如果我将 master
合并到我的 amplify/backend/auth/projectname/parameters.json
它仍然会在 amplify/backend/auth/projectname/parameters.json
中被覆盖dev
分支及其令人沮丧。不确定解决方案是什么。
截至目前,Amplify 不支持特定于 parameters.json
的环境。
对我们团队有用的是我们在 CI/CD 管道中覆盖 parameters.json
(我们只有生产环境的不同参数)
因此,我们制作了一个脚本(在节点中)。这是我们自定义配置的示例。
Our solution depends on the amplify environment name. Currently, we use prod prefix for our production environments. So, you'll see something like process.env.USER_BRANCH.startsWith('prod')
config.json
module.exports = {
'api': {
filePath: 'amplify/backend/api/myproject/parameters.json',
override: {
production: {
ElasticSearchInstanceCount: 3,
ElasticSearchInstanceType: 't2.medium.elasticsearch'
}
}
}
}
script.js(非完整版)
if(!process.env.USER_BRANCH || !process.env.USER_BRANCH.startsWith('prod')) return
const parameter = JSON.parse(fs.readFileSync(config.filePath))
const overrideConfig = config.override['production']
fs.writeFileSync(config.filePath, JSON.stringify({
...parameter,
...overrideConfig
}))
最后,在 amplify.yml
、运行 node ./script.js
之前 amplifyPush
。例如
version: 0.1
backend:
phases:
build:
commands:
- node ./scripts/src/amplify-parameters-override/script.js
- amplifyPush --simple
我对每个环境都有不同的回调 url,如果我使用 amplify auth update
并修复 URL 如果我将 master
合并到我的 amplify/backend/auth/projectname/parameters.json
它仍然会在 amplify/backend/auth/projectname/parameters.json
中被覆盖dev
分支及其令人沮丧。不确定解决方案是什么。
截至目前,Amplify 不支持特定于 parameters.json
的环境。
对我们团队有用的是我们在 CI/CD 管道中覆盖 parameters.json
(我们只有生产环境的不同参数)
因此,我们制作了一个脚本(在节点中)。这是我们自定义配置的示例。
Our solution depends on the amplify environment name. Currently, we use prod prefix for our production environments. So, you'll see something like
process.env.USER_BRANCH.startsWith('prod')
config.json
module.exports = {
'api': {
filePath: 'amplify/backend/api/myproject/parameters.json',
override: {
production: {
ElasticSearchInstanceCount: 3,
ElasticSearchInstanceType: 't2.medium.elasticsearch'
}
}
}
}
script.js(非完整版)
if(!process.env.USER_BRANCH || !process.env.USER_BRANCH.startsWith('prod')) return
const parameter = JSON.parse(fs.readFileSync(config.filePath))
const overrideConfig = config.override['production']
fs.writeFileSync(config.filePath, JSON.stringify({
...parameter,
...overrideConfig
}))
最后,在 amplify.yml
、运行 node ./script.js
之前 amplifyPush
。例如
version: 0.1
backend:
phases:
build:
commands:
- node ./scripts/src/amplify-parameters-override/script.js
- amplifyPush --simple