Контекст:
Я хранилище с открытым исходным кодом, которое проверено 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