Использование секретных ключей api на travis-ci
Я хотел бы использовать travis-ci для одного из моих проекты.
проект является оболочкой API, поэтому многие тесты полагаются на использование секретных ключей API. Чтобы проверить локально, я просто храню их как переменные среды. Какой безопасный способ использовать эти ключи на Трэвисе?
4 ответов:
Трэвис имеет функцию для шифрования переменных среды ("шифрование переменные среды"). Это может быть использовано для защиты ваших секретных ключей API. Я успешно использовал это для моего ключа Heroku API.
все, что вам нужно сделать, это установить travis gem, зашифровать строку, которую вы хотите, и добавить зашифрованную строку в свой
.travis.yml. Шифрование допустимо только для одного репозитория. Элемент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 client в соответствии с вашей ОС
вы также можете определить секрет переменные в настройках репозитория:
переменные, определенные в настройках репозитория, одинаковы для всех сборок, и при перезапуске старой сборки используются последние значения. Эти переменные не доступны автоматически для форков.
определите переменные в настройках репозитория, которые:
- различаются для каждого репозитория.
- содержат конфиденциальные данные, такие как сторонние полномочия.
чтобы определить переменные в настройках репозитория, убедитесь, что вы вошли в систему, перейдите в соответствующий репозиторий, выберите "Настройки" в меню cog и нажмите "Добавить новую переменную" в разделе "Переменные среды".
используйте другой набор ключей API и сделайте это таким же образом. Ваш travis box получает настройки для вашего запуска сборки, а затем полностью снесен снова после завершения сборки. У вас есть корневой доступ к вашей коробке во время сборки, поэтому вы можете делать с ней все, что захотите.
Comments