У 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="
travis encrypt [args..] [options]
то есть вы захотитеtravis encrypt MY_SECRET_ENV=super_secret -r my_username/my_repo
. Если сначала указать параметры, а данные для шифрования - последними, появится предупреждение.--add env.global
кtravis
команде, он будет автоматически изменить свой .travis.yml.в соответствии с этим в документации по travis ci сказано, что:
обратитесь к следующему руководству, чтобы установить клиент heroku в соответствии с вашей ОС
источник
Вы также можете определить секретные переменные в настройках репозитория :
источник
Используйте другой набор ключей API и сделайте то же самое. Ваш ящик travis настраивается для запуска вашей сборки, а затем снова полностью разрушается после завершения сборки. У вас есть root-доступ к вашему ящику во время сборки, поэтому вы можете делать с ним все, что хотите.
источник