Стандартный метод - сохранить .aws/credentials
файл в вашем домашнем каталоге. Интерфейс командной строки AWS, а также многие пакеты, которые его используют, будут выглядеть там по умолчанию.
Итак, у вас будет файл ~/.aws/credentials
(без расширения) с этой информацией:
[default]
aws_access_key_id=AKIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Вы можете сохранить другие менее важные параметры конфигурации в ~/.aws/config
:
[default]
region=us-west-2
output=json
Редактировать: Приведенное выше решение не относится к Nuxt. Я делаю предположения, но если вы работаете с этого примера Gulp из документов Nuxt для развертывания на s3 , вы можете просто полностью удалить блок credentials
, если они хранятся в ~/.aws/
.
Редактировать 2: для уточнения, если используется профиль по умолчанию (см. Выше), интерфейс командной строки AWS будет искать ваши учетные данные по умолчанию. Вам не нужно ссылаться на них вообще в вашем сценарии. Но если по какой-то причине он жалуется, вы можете явно установить его в вашем скрипте развертывания с помощью:
var credentials = new AWS.SharedIniFileCredentials({profile: 'default'});
AWS.config.credentials = credentials;
Этот метод обычно используется для указания профиля, отличного от значения по умолчанию, поскольку вам не нужно указывать значение по умолчанию. Например, если у вас есть личная учетная запись AWS и рабочая учетная запись AWS, вы можете сохранить свои рабочие учетные данные в тех же ~/.aws/credentials
файлах с другой записью для [work]
и заменить {profile: 'default'}
на {profile: 'work'}
в своем сценарии развертывания.
Редактировать 3: Выше предполагается, что вы развертываете на s3 с вашего локального компьютера. Если сервер будет загружать файлы вместо этого, вы можете установить свои учетные данные в качестве переменных среды. За герою :
$ heroku config:set AWS_ACCESS_KEY_ID=xxx AWS_SECRET_ACCESS_KEY=yyy AWS_REGION=zzz
А затем получите доступ к ним в вашем скрипте загрузки, как вы были:
AWS.config.update({
accessKeyId: process.env.AWS_ACCESS_KEY_ID,
secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
region: proccess.env.AWS_REGION
});
Управление конфигурационными переменными в Heroku:
Всякий раз, когда вы устанавливаете или удаляете конфигурационную переменную любым способом, ваше приложение перезапускается и создается новый выпуск.
Значения конфигурации var являются постоянными - они остаются на месте при развертывании и перезапуске приложения. Если вам не нужно изменить значение, вам нужно установить его только один раз.