Использование секретных ключей API на travis-ci - PullRequest
89 голосов
/ 18 февраля 2012

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

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

Ответы [ 4 ]

95 голосов
/ 08 октября 2012

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

Все, что вам нужно сделать, это установить гем travis, зашифровать нужную вам строку и добавить зашифрованную строку в ваш .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="
6 голосов
/ 25 сентября 2017

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

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

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

обратитесь к следующему руководству по установке клиента heroku в соответствии с вашимOS

3 голосов
/ 06 апреля 2017

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

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

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

  • отличается для каждого хранилища.
  • содержит конфиденциальные данные, такие как сторонние учетные данные.

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

0 голосов
/ 18 февраля 2012

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

...