Почему "переменная ENV 'S3_KEY' должна быть установлена" при развертывании? - PullRequest
2 голосов
/ 24 марта 2011

Я бы хотел использовать heroku_san для развертывания нескольких сред на heroku . Я использую стрекозу для обработки изображений и S3 для хранения. Обычно вы можете добавить свой ключ и секрет для хранилища, используя heroku config:add S3_KEY=… S3_SECRET=… напрямую.

Итак, я добавил эти данные в файл heroku.yml, используемый heroku_san:

staging:
  app: app-staging
  config: &default
    BUNDLE_WITHOUT: "development:test"
    S3_KEY: XXXXXXXXXXXXXXXXXX 
    S3_SECRET: XXXXXXXXXXXXXXXXXX
    S3_BUCKET: app-staging

но при развертывании я все равно получаю:

rake aborted!
ENV variable 'S3_KEY' needs to be set - use
    heroku config:add S3_KEY=XXXXXXXXX

Что мне здесь не хватает? Есть ли лучший способ сохранить эту информацию в файле YML?

Ответы [ 3 ]

2 голосов
/ 17 августа 2011

Нет необходимости запускать heroku config:add вручную.Просто запустите задание конфигурации heroku_san:

$ rake all heroku:config

Повторяйте это всякий раз, когда вы обновляете файл heroku.yml.

Я тоже был озадачен этим, поскольку он странно отсутствует в документации heroku_san, но опцияпоявляется в списке задач рейка:

$ rake -T

и в коде heroku_san: https://github.com/fastestforward/heroku_san/blob/master/lib/heroku_san/tasks.rb

1 голос
/ 24 марта 2011

Простое решение / обходной путь:

heroku config:add S3_KEY=XXX S3_SECRET=XXX --app app-staging

Есть идеи получше?

0 голосов
/ 15 июля 2011

Я думаю, вам нужно запустить команду rake all heroku:rack_env.Затем эта команда установит конфигурации среды для вас на основе вашей конфигурации YAML heroku_san.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...