Изучая мой недавний вопрос сбой в Sonarcloud с Travis, Maven и github, я понял, что задал неправильный вопрос. Я пытался решить симптом, а не основную проблему.
Проект, над которым я работаю (eclipse/scanning) использует Github в качестве репозитория и Travis с Sonarcloud для непрерывной интеграции и анализа кода.
В то время как анализ Sonarcloud отлично работает с внутренними запросами на тяну (запросы на запросы от ветвей, наводимых непосредственно на eclipse/scan), он не работает, когда Travis запускается для внешних запросов на вытягивание (из разветвленных репозиториев).
Основная проблема заключается в том, что способ, которым мы запускаем sonarcloud, в настоящее время опирается на переменные среды, которые не заполняются для запросов внешнего натяжения по соображениям безопасности:
Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#Pull-Requests-and-Security-Restrictions
У нас есть наш репозиторий, который не заботится о том, запускается ли Sonarcloud, но это значит, что мы часто сливаемся с изменениями, которые нарушают правила сонарлаула, потому что мы не понимаем, что они были сломаны. Мы видим только, что эти правила были нарушены в следующий раз, когда они будут изменены кем-то, кто прямо нажимает на репозиторий. Это перекладывает бремя фиксации Sonarcloud на обнаруженные проблемы от коллаборационистов до коммиттеров.
Итак,
- Можно ли включить анализ Sonarcloud запросов на pull из разветвленных репозиториев без возникновения проблем безопасности?
Обратите внимание, что этот вопрос кажется на один шаг выше В публичном репозитории Travis, как добавить переменную Secure, которая также работает с запросами Pull, еще есть ответ.