Разрешить travis.ci нажать github - PullRequest
0 голосов
/ 06 сентября 2018

Я надеялся, что смогу просто добавить travis.ci в качестве соавтора, но ничего не нашел в этом направлении. Возможно, это мера безопасности, потому что они не хотят пропускать свои учетные данные в виртуальной среде.

Другие (неудовлетворительные) идеи:

  • поделиться своими учетными данными на github с travis через зашифрованные переменные
  • создать отдельный аккаунт на github для travis
  • создать отдельные ключи ssh, поделиться с travis (в зашифрованном виде), добавить в мой github

У кого-нибудь есть идея получше?


Контекст: я публикую свой проект из travis.ci, и он автоматически присваивает новый номер версии, который отслеживается как тег git, например v1.0.5

Без каких-либо настроек, очевидно, что происходит сбой из-за отсутствия разрешений: pushing to remote, using `git push origin v0.1.41` remote: Invalid username or password. fatal: Authentication failed for 'https://github.com/mpollmeier/sbt-ci-release-early-usage.git/'

Ответы [ 2 ]

0 голосов
/ 06 сентября 2018

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

Если бы Трэвис в любом случае запросил бы доступ на запись, многие пользователи пожаловались бы на то, что не доверяют Трэвису, поскольку он запрашивает разрешение на действия, которые он не должен делать по умолчанию.

Если вы все равно хотите предоставить Тревису право на запись, единственные способы сделать это - те, которые вы описали в своем вопросе, но я приведу их для полноты (от большинства до менее предпочтительных):

  • Создайте ключ доступа GitHub (как вы сделали)
  • Создать ключ ssh, зашифровать его и поделиться им с travis (утомительно, поскольку travis cli не может зашифровать файлы в Windows из-за ошибки)
  • Совместное использование учетных данных github с Travis через зашифрованные переменные среды

Создание отдельной учетной записи для Travis необходимо только в том случае, если вы хотите иметь возможность отделить свои коммиты от коммитов, сделанных Travis, хотя это не добавляет какого-либо уровня безопасности.

Независимо от выбранного вами способа, зашифрованная информация надежно защищена. Если кто-то отправляет запрос на получение, и вы включили сборку для запросов на получение, Travis не будет передавать ваши ключи шифрования отправителю (, как указано в документации ).

0 голосов
/ 06 сентября 2018

Я использовал токен доступа github https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/, но я все еще хочу услышать лучшие альтернативы ...

...