SonarQube с предупреждением о мелком клонировании даже при отключенном мелком в сборке Jenkins

У меня есть сервер Jenkins, создающий решение с использованием MSBuild. Неглубокое клонирование не включено (в Advanced Clone Behaviours), поэтому я предположил, что он получает все последние коммиты. И я использую SonarQube для анализа. Я настроил начало анализа перед сборкой и завершение анализа после завершения сборки. Анализ SonarQube завершается успешно, но я получаю предупреждение:

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

Кто-то знает, чего мне не хватает, чтобы SonarQube работал нормально?


person Samuel Finatto    schedule 22.11.2019    source источник
comment
На странице документации нет полезной информации?   -  person Jeroen Heier    schedule 23.11.2019
comment
Да! Я читал раньше, но теперь я проверяю информацию о полном клоне, поэтому я искал об этом и опубликовал ответ :)   -  person Samuel Finatto    schedule 25.11.2019


Ответы (3)


Я получал такое же предупреждение в sonarcloud для одного из моих репозиториев github, интегрированных с sonarcloud.

предупреждение о мелком клоне sonarcloud github

Поэтому, если кто-то ищет возможность отключить мелкое клонирование в рабочем процессе действий github, просто отредактируйте файл yml и используйте параметр fetch-depth: 0 с шагом actions/checkout@v2, чтобы отключить мелкое клонирование.

Полный пример приведен ниже

    steps:
    - uses: actions/checkout@v2
      with:
        fetch-depth: 0

Для получения более подробной информации посетите - https://github.com/actions/checkout#fetch-all-history-for-all-tags-and-branches

person Vivek    schedule 21.06.2020

Как описано в документации: https://docs.travis-ci.com/user/customizing-the-build#sts=Git%20Clone%20Depth%20#

Просто отключите ограничение git fetch depth в .travis.yml следующим образом:

git:
  depth: false

В противном случае вы дважды клонируете git.

person surfealokesea    schedule 06.04.2020

Я исправил! Когда я отключил Shallow Clone на Jenkins, в нем по-прежнему отсутствовали прошлые коммиты, поэтому мне пришлось выполнить некоторые команды в GIT bash внутри папки репозитория:

git fetch --depth=1000000

(если у вас не более 1 миллиона коммитов)

затем, чтобы подтвердить, что я удалил мелкое:

git fetch --unshallow

После ожидания следующего билда и разбора теперь предупреждение исчезло и я вижу авторов!

person Samuel Finatto    schedule 25.11.2019