Как правильно развернуть приложения узла в GAE с секретными ключами?
Я изучаю GAE с помощью nconf, и мне интересно, будет ли обеспечена следующая настройка после развертывания приложения.
Меня беспокоит то, что мои файлы "config.dev.json" и "config.prod.json" развернуты, несмотря на то, что они включены в ".gitignore".
Я не уверен, какая информация передается в gae (я не хочу, чтобы мои ключи конфигурации были открыты) после того, как я это сделал:
$ git add .
$ git commit -m 'Commiting'
$ glcoud app deploy
Структура My Node App выглядит следующим образом:
- /myProject
- /node_modules
- .gitignore
- app.js
- app.yaml
- config.js
- keys.dev.json
- keys.prod.json
- package-lock.json
- package.json
//.gitignore
node_modules
keys.dev.json
keys.prod.json
// config.js:
const nconf = require("nconf");
nconf.argv().env();
if (nconf.get("NODE_ENV") === "production") {
nconf.file("keys.prod.json");
} else {
nconf.file("keys.dev.json");
}
...
1 ответ
Включая файлы в .gitignore
не имеет никакого отношения к развертыванию в GAE, этот файл используется только git
,
Если вы хотите предотвратить развертывание файла в GAE, вам нужно использовать skip_files
вариант в вашем app.yaml
Общие настройки файла:
skip_files
Необязательный. Элемент skip_files указывает, какие файлы в каталоге приложения не следует загружать в App Engine. Значение является либо регулярным выражением, либо списком регулярных выражений. Любое имя файла, которое соответствует любому из регулярных выражений, исключается из списка файлов для загрузки при загрузке приложения.
Например, чтобы пропустить файлы, имена которых оканчиваются на .bak, добавьте раздел skip_files, какпоказано ниже:
skip_files: - ^(.*/)?\.bak$
Примечания стороны:
- если я правильно понимаю, ваше приложение использует эти файлы, поэтому мне кажется, что вампридется развернуть их вместе с приложением.
- даже если файл развернут в GAE, ваше приложение ответственно (и полностью контролирует) решение о том, подвергается ли файл сторонним запросам или нет.
- если вы хотите точно знать, какие файлы включены в развертывание, вы можете увидеть их во время развертывания, используя
--verbosity
вариант дляgcloud app deploy
команда.