Использование секретных ключей api на travis-ci

Я хотел бы использовать Трэвис-ки для одного из моих проекты.

проект является оболочкой API, поэтому многие тесты полагаются на использование секретных ключей API. Чтобы проверить локально, я просто храню их как переменные среды. Как безопасно использовать эти ключи на Трэвисе?

4 ответов


у Трэвиса есть функция шифрования переменных среды ("шифрование переменные среды"). Это можно использовать для защиты ваших секретных ключей API. Я успешно использовал это для своего ключа API Heroku.

все, что вам нужно сделать, это установить Travis gem, зашифровать строку, которую вы хотите, и добавить зашифрованную строку в свой .travis.yml. Шифрование допустимо только для одного репозитория. The travis команда получает ваш открытый ключ для вашего РЕПО, а затем может расшифровать строку во время построения.

gem install --user travis
travis encrypt MY_SECRET_ENV=super_secret -r my_username/my_repo

это дает следующий результат:

Please add the following to your .travis.yml file:

  secure: "OrEeqU0z6GJdC6Sx/XI7AMiQ8NM9GwPpZkVDq6cBHcD6OlSppkSwm6JvopTR\newLDTdtbk/dxKurUzwTeRbplIEe9DiyVDCzEiJGfgfq7woh+GRo+q6+UIWLE\n3nowpI9AzXt7iBhoKhV9lJ1MROrnn4DnlKxAEUlHTDi4Wk8Ei/g="

по данным этой в документации travis ci сказано, что:

Если у вас установлены клиенты командной строки Heroku и Travis CI, вы можете получить свой ключ, зашифровать его и добавить в свой .Трэвис.yml, выполнив следующую команду из каталога проекта:

travis encrypt $(heroku auth:token) --add deploy.api_key

смотрите следующее учебник по установке клиента heroku в соответствии с вашей ОС


вы также можете определить секрет переменные в настройках репозитория:

переменные, определенные в настройках репозитория, одинаковы для всех сборок, и при перезапуске старой сборки используются последние значения. Эти переменные автоматически недоступны для forks.

определите переменные в настройках репозитория, которые:

  • различаются для каждого репозитория.
  • содержат конфиденциальные данные, такие как сторонние полномочия.

чтобы определить переменные в настройках репозитория, убедитесь, что вы вошли в систему, перейдите в соответствующий репозиторий, выберите "Настройки" в меню cog и нажмите "Добавить новую переменную" в разделе "Переменные среды".


используйте другой набор ключей API и делайте это так же. Ваш travis box получает настройку для запуска сборки, а затем полностью снесен снова после завершения сборки. У вас есть корневой доступ к вашему ящику во время сборки, поэтому вы можете делать с ним все, что захотите.