2016-07-22 2 views
1

Я использую переменные окружения в secrets.yml для производственной среды в своих рельсах. Я отправляю HTTP-запрос с ключом api и паролем. Я могу передать свои локальные тесты в тестовой среде, используя пароль. Но мой пароль не может быть раскрыт, поэтому как мне пройти тесты travis ci на github?Неудача тестов Travis CI при использовании секретных ключей в рельсах

+0

Возможно, [Travis docs] (https://docs.travis-ci.com/user/environment-variables/) поможет. – Aleksey

+1

Я бы сказал, что вы не должны делать запросы на внешние серверы в ваших тестах в любом случае. Просто закройте вызовы в своих тестах. – spickermann

+0

Как отключить вызовы в моих тестах, чтобы в процессе производства я мог сделать запрос? –

ответ

1

Вы можете зашифровать свой secrets.yml и вставить зашифрованный файл в репозиторий.

travis encrypt-file secrets.yml 

, который даст вам secrets.yml.enc добавить его в хранилище. Не забудьте нажать secrets.yml.

Вы должны расшифровать этот файл в before_script

before_script: openssl aes-256-cbc -K $encrypted_0a6446eb3ae3_key -iv $encrypted_0a6446eb3ae3_key -in secrets.yml.enc -out secrets.yml -d 

Вы можете непосредственно добавить выше команды в travis.yml используя --add вариант:

travis encrypt-file secrets.yml --add 

Приведи эту документацию для получения более подробной информации - Encrypting Files in Travis

Смежные вопросы