Сохранять целостность ключа API с помощью треков Travis-CI build-notification в публичном репозитории
Контекст:
Я хранилище с открытым исходным кодом, которое проверено Travis-CI. Travis предлагает сборку уведомлений для тестовых прогонов, поэтому вы можете получать уведомления внутри IRC, Flowdock, Campfire и HipChat. Чтобы настроить эти перехватчики, вы должны добавить настройки в свой конфигурационный файл .travis.yml
, который является общедоступным. Для Hipchat это выглядит так:
notifications:
hipchat: [api token]@[room name]
Если бы я просто поместил свой токен в обычный текст, каждый мог увидеть мой токен API и доступ/спам в моих чатах. Среди прочего, почему Travis добавил защищенные переменные среды. В принципе, вы можете зашифровать строки своим ключом и привязать их специально к репозиторию, чтобы Travis мог получить доступ к секретным ключам API.
Что вы делаете локально:
gem install travis
travis encrypt github-user/repo MY_SECRET_ENV=super_secret
Что вы вложили в .travis.yml
secure: <encrypted string here>
Проблема:
К сожалению, документация не слишком многословна, google не помогает, stackoverflow не помогает еще, и я не могу заставить это работать.
Вот моя первая попытка:
travis encrypt github-user/repo HIPCHAT=super_secret
secure: <encrypted string here>
notifications:
hipchat: <%= ENV['HIPCHAT'] %>@hipchat-room
Поскольку это не работает, я пошел в travis irc на freenode и что они предложили
travis encrypt github-user/repo [email protected]
notifications:
hipchat:
secure: <encrypted string here>
Как вы могли догадаться (почему я снова пишу этот вопрос?), это тоже не работает.
Надеюсь, вы поможете мне решить эту проблему. Большое спасибо
Редактировать: Я очень подозрительно отношусь ко мне. Я трипл-проверял ключ API, он работает. Это до Трэвиса.
2Edit: Как представляется, это ошибка, соответствующая проблеме GitHub
Ответы
Ответ 1
Stephan,
Не могли бы вы попробовать:
notifications:
hipchat:
- secure: "encrypted string"
Если вы не хотите загромождать свою историю фиксации, вы можете нажать ее на отдельной ветке, и Travis должен проверить эту ветвь для вас.
- Хенрик