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

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

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

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

    Все, что вам нужно сделать, это установить gem 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 ci сказано:

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

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

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

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

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

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

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

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

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

    Interesting Posts

    Получить целочисленное значение текущего года в Java

    Windows 10 переходит в режим сна, игнорируя настройки

    Opera: чтение групп Google?

    Хороший способ добавить вектор к себе

    IPV4 и IPV6 Not Connected не могут подключаться к Интернету

    FBSDKLog: нельзя использовать приложение Facebook или Safari для авторизации, fb **** не зарегистрирован как URL-схема

    Как запустить команду по сетевому подключению / отключению?

    Удалить категорию и базу тегов из URL-адреса WordPress – без плагина

    Ошибка при компиляции некоторого простого кода c ++

    Обновление пользовательского интерфейса в C # с использованием таймера

    HttpEntity устарела на Android сейчас, какова альтернатива?

    Скремблирование данных с веб-сайта с помощью vba

    Драйвер Microsoft ACE изменяет точность с плавающей запятой в остальной части моей программы

    двухсторонний график плотности в сочетании с односторонним графиком плотности с выбранными областями в r

    Когда ssh'ing, как я могу установить переменную среды на сервере, которая изменяется от сеанса к сеансу?

    Давайте будем гением компьютера.