У Travis есть функция для шифрования переменных окружения ("Encrypting environment variables"). Это можно использовать для защиты ваших секретных ключей 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="
Не забудьте документировать, какие переменные вы используете, и почему, поскольку после их зашифрования только кто-то с исходными ключами может восстановить их. – jerseyboy
Похоже, что более новые версии драгоценного камня Travis предпочитают иметь свои аргументы в обратном порядке: 'travis encrypt [args ..] [options]', то есть вы захотите сделать 'travis encrypt MY_SECRET_ENV = super_secret -r my_username/my_repo'. Сначала введите параметры и данные, которые будут зашифрованы в последний раз, выведут предупреждение. –
@ Jordan спасибо за обновление, я обновил свой ответ соответственно. – Odi