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