AWS Параметры аутентификации перезаписываются в нескольких env - PullRequest
0 голосов
/ 11 февраля 2020

У меня разные URL-адреса для каждого окружения, и если я использую amplify auth update и зафиксирую URL, он все равно будет перезаписан в amplify/backend/auth/projectname/parameters.json, если я объединю master с моей веткой dev, и это довольно разочаровывает. Не уверен, что решение.

1 Ответ

1 голос
/ 12 февраля 2020

На данный момент Amplify не поддерживает спецификацию среды, определяющую c для parameters.json.

Для нашей команды работает то, что мы перезаписываем наш parameters.json в нашем конвейере CI / CD ( у нас только разные параметры для производственной среды)

поэтому мы создали скрипт (в узле). Это пример нашей пользовательской конфигурации.

Наше решение зависит от имени среды амплификации. В настоящее время мы используем префикс prod для наших производственных сред. Итак, вы увидите что-то вроде 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...