Управляй качеством кода 1С с помощью SonarQube

0. olegtymko 556 07.07.19 05:40 Сейчас в теме
Управляй техническом долгом проектов 1С с помощью SonarQube. В статье рассматривается пример применения SonarQube при разработке.

Перейти к публикации

Лучшие комментарии
34. litonchik 08.07.19 10:36 Сейчас в теме
Спасибо за статью!
Читая комментарии под статьями такого рода, иной раз, поражаюсь токсичности комьюнити.
GreenDragon; tsmult; YPermitin; Kinestetik; mivari; vlad.frost; t.v.s.; disa_da; Kosstikk; seperblunt2; ComConnector; ltfriend; romankoav; Stepa86; baton_pk; user774630; VitaminC; olegtymko; CyberCerber; nixel; tsukanov; user764477; Labotamy; +23 Ответить
14. vlad.frost 08.07.19 08:08 Сейчас в теме
(3) ну, например, чтобы:
- не настраивать ответственных по объектам метаданных в АПК: SonarQube сам определит ответственного за косячный код по git blame;
- разделить ошибки на legacy и привнесённые в новом коде, старый код не трогать, а сосредоточиться на исправлении новых косяков;
- видеть ошибки АПК в контексте окружающего кода, а не только модуль и номер строки;
- ускорить отображение отчётов;
- получать постоянные ссылки на ошибки, чтобы взять их на контроль и добиться исправления.
Krio2; GreenDragon; Kinestetik; SerebanSK; nvv1970; mrXoxot; Kosstikk; JohnyDeath; olegtymko; nixel; Stepa86; +11 Ответить
5. Vladimir Litvinenko 07.07.19 23:46 Сейчас в теме
(4) Вы можете делать коммиты, связанные с обновлением типовых конфигураций (обновлением БСП или переходом на новую версию типовой конфигурации) от имени специально выделенного пользователя. Для этого достаточно перед коммитом указать в качестве e-mail автора служебный или свой второй e-mail. Тогда изменения типовой конфигурации привяжутся не к тем пользователям, под которым ведется регулярная разработка.

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

Если вы пользуетесь АПК, то ситуация будет аналогична: если Вы дорабатываете типовой модуль и хотите его проверить после доработки, то в результаты его проверки попадет и типовой код и Ваш. АПК позволяет фильтровать объекты конфигурации, подлежащие проверке, а не части модулей. При использовании возможностей git как раз появляется возможность проверять только внесенные в модуль изменения в привязке к авторам.
tsmult; Kinestetik; Lucechiaro; SerebanSK; Stepa86; olegtymko; acanta; +7 1 Ответить
13. olegtymko 556 08.07.19 05:55 Сейчас в теме
(12) На скриншоте тестовый проект, где ~800 ошибок, был проверен только в рамках статьи.

Во вложении метрики самописного проекта не на БСП, над который сейчас ведутся работы по улучшению качества кода (этот же скриншот есть в статье).
Если смотреть тренд количества ошибок, дублирования кода - то их количество со временем уменьшается.
Прикрепленные файлы:
GreenDragon; Kinestetik; acanta; kuzyara; +4 Ответить
Остальные комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
72. Labotamy 09.07.19 08:30 Сейчас в теме
(70)Ой, не признал с мобилы =)
76. olegtymko 556 09.07.19 09:01 Сейчас в теме
(70)
не чужие люди.

Конспирация
125. krasilnikovmihail 23.07.19 10:26 Сейчас в теме
(66) Такая же проблема. Пока не поборол
127. olegtymko 556 23.07.19 12:05 Сейчас в теме
128. krasilnikovmihail 23.07.19 12:05 Сейчас в теме
(66)
Start pointer

Пока решил проблему изменением формата:
1. в файле acc.properties изменить:
acc.format=genericissue
2. в файле sonar-project.properties изменить:
sonar.externalIssuesReportPaths=acc-generic-issue.json

Загрузилось без ошибок
78. SerebanSK 26 09.07.19 09:17 Сейчас в теме
Отличная статья! Спасибо!
79. Indgo 09.07.19 10:16 Сейчас в теме
Эх еще бы ТЗ сама писала ;-)
80. olegtymko 556 09.07.19 10:44 Сейчас в теме
(79) ТЗ на исправление недочетов?
81. Labotamy 09.07.19 10:44 Сейчас в теме
(80) ТЗ на внесение новых ошибок в код.
82. olegtymko 556 09.07.19 10:45 Сейчас в теме
83. Indgo 09.07.19 10:46 Сейчас в теме
(82) Плагин который пишет ТЗ на Плагин.
86. gubanoff 48 09.07.19 13:01 Сейчас в теме
(0) известна ли разница между бесплатным плагином и разработкой от Серебряной пули?
88. olegtymko 556 09.07.19 15:09 Сейчас в теме
(86) Сравнения нет. Можно почитать о возможностях плагинов:
* Комьюнити плагин - https://github.com/1c-syntax/sonar-bsl-plugin-community и проверки в https://github.com/1c-syntax/bsl-language-server
* от Серебряной пули - https://github.com/silverbulleters/sonar-1c-bsl-public и https://silverbulleters.org/sonarqube
115. artbear 1186 18.07.19 14:12 Сейчас в теме
Для интересующихся разницей между
- SonarQube 1C (BSL) Plugin (https://silverbulleters.org/sonarqube) - платный вариант от Серебряной Пули
- SonarQube 1C (BSL) Community Plugin (https://github.com/1c-syntax/sonar-bsl-plugin-community)

я в (114) коротко написал отличия
116. artbear 1186 18.07.19 14:24 Сейчас в теме
(114) Еще единая документация, где описаны многие нюансы установки/использования СонарКуб, в т.ч. первичный запуск, настройка описания интеграций, настройка для CI
за 70 страниц текста :)
119. artbear 1186 19.07.19 15:16 Сейчас в теме
Обалдеть, кто-то удалил мой пост (114)

Для интересующихся разницей между
- SonarQube 1C (BSL) Plugin (https://silverbulleters.org/sonarqube) - платный вариант от Серебряной Пули
- SonarQube 1C (BSL) Community Plugin (https://github.com/1c-syntax/sonar-bsl-plugin-community)

я в (114) коротко написал отличия
121. olegtymko 556 19.07.19 17:35 Сейчас в теме
(119) Только модераторы форума могут
220. check2 125 12.04.20 22:46 Сейчас в теме
(119) Судя по ошибки - его не удалили, а скрыли. Артур, а можно куда то в ЛС что ли это отличие... Что бы понимание было.
Спасибо!
223. Labotamy 12.04.20 23:31 Сейчас в теме
(220) я кидал абузу за агресивную рекламу коммерческого продукта сторонней организации.
228. olegtymko 556 15.04.20 07:57 Сейчас в теме
(220) Есть идея о написании сравнения платного и опенсоурс проекта по анализу исходного кода 1С (плюсы и минусы каждого из решений). Скорее всего в ближайшее время это сравнение появится.
94. mRconik 10.07.19 07:30 Сейчас в теме
1С: Автоматическое тестирование конфигураций

Поправьте на 1С:Автоматизированная проверка конфигураций
95. olegtymko 556 10.07.19 07:53 Сейчас в теме
96. demon_infernal 32 10.07.19 11:54 Сейчас в теме
Хорошая статья, подробная.
В Сонаркубе меня смущает то, что путь файла показывается не полностью (на скрине обвел красным).
Из имени файла понятно, что это модуль какой то формы. А какой? Это можно было бы узнать по полному пути файла, но я не нашел способа его посмотреть.
Прикрепленные файлы:
97. olegtymko 556 10.07.19 12:01 Сейчас в теме
(96) Да, с этим есть проблемы. По хорошему бы отображать второй путь как в конфигурации 1С.
98. Labotamy 10.07.19 14:10 Сейчас в теме
(96) Под это был плагин для хрома от Валерия Максимова, но по моему он не работает в 7.9 =( Тоже страдаю от этого. Толи в 7.7, толи в 7.8 была кнопка справа вверху в ней было видно. Или сонаровцы починят обратно, или надежда на комюнити.
231. Labotamy 15.04.20 09:17 Сейчас в теме
99. toypaul 68 11.07.19 14:44 Сейчас в теме
Когда читаю статьи про все эти новые технологии, то после прочтения пары абзацев начинает мутить. Можно сказать прям укачивает как на корабле. Все эти - "скачайте там", запустите такой скриптик, тут настройка, там настройка. 90% всякой мути и 10% смысла. Это не претензия автору. Сегодня я хотя бы до смысла дошел.
100. Labotamy 11.07.19 19:03 Сейчас в теме
(99)Может в докладе Никиты Грызлова найдете что то ещё. https://infostart.ru/public/622617/
105. kuzyara 1039 12.07.19 07:30 Сейчас в теме
(99)
- юнит-тестирование
- системы контроля версий
- автоматизированные сборки
- код-ревью
- статические анализаторы кода

Добро пожаловать в devops )
129. artbear 1186 23.07.19 12:19 Сейчас в теме
(99) Ты же вроде давно в ИТ и 1С :) неужели не привык?
130. toypaul 68 23.07.19 13:11 Сейчас в теме
(129) меня эти админские штучки никогда не интересовали. у меня математические и визуальные пристрастия :)
106. user1015233 12.07.19 12:46 Сейчас в теме
На данный момент, как я понял, плагин содержит 35 правил. Планируется ли включить все проверки стандартов 1С? Сейчас, получается, необходимо использовать выгрузку из АПК.
107. olegtymko 556 12.07.19 13:14 Сейчас в теме
(106) развитие плагина ведётся, вернее развитие bsl language server. Со временем проверки появятся. Можно предложить здесь https://github.com/1c-syntax/bsl-language-server/issues, а так же принять участие в разработке.
108. Labotamy 12.07.19 13:23 Сейчас в теме
(106) Разумеется планируется. И не только стандартов 1С. Проект OpenSourse идеи и реализации приветствуются. Проверки реализуются не в самом плагине к SonarQube, а в bsl-language-server(см. ссылку в сообщении Олега), в котором проверки это только одна функциональность.
olegtymko; +1 Ответить
109. Unknown31 14.07.19 21:11 Сейчас в теме
Для пробы выгружал демо конфигурация для АПК - обработалась без проблем.
Попробовал демо БСП 3.0.2.314.
INFO: EXECUTION SUCCESS

openjdk-11.0.3-1
sonarqube-7.9.1
sonar-bsl-plugin-community-0.6.0
sonar-scanner-4.0.0.1744-windows


Но фоновое задание данные не обрабатывает, в статусе отображается ошибка:
Подробности Об Ошибке
110. olegtymko 556 15.07.19 03:17 Сейчас в теме
(109) Хватает ли места на диске? Сколько было выставлено памяти sonarqube?
117. vanoono 19.07.19 11:12 Сейчас в теме
Добрый день!
Есть инструкция под linux ? Может есть чат где-нибудь на github?
Второй день бьюсь с тем чтобы просто поднять сервис сонара.
Суть проблемы заключается в том, что после подстановки параметров на те, которые указаны у вас, он перестает стартовать.
В варианте из "коробки" запустить удалось, но дальше не хочет...
118. Labotamy 19.07.19 13:23 Сейчас в теме
(117)В репозитории есть бейджик telegram chat
120. olegtymko 556 19.07.19 17:34 Сейчас в теме
(117) У меня продакшэн крутиться на linux. Пишите в чат. Подскажем в чем проблема)
132. Diversus 2084 23.07.19 21:55 Сейчас в теме
Замечания по выгрузке из АПК (Windows Server):
Обработка не работает и просто выкидывала. После чего я решил посмотреть код и по этому поводу замечания:

1) Лучше указать полный путь к файлам в acc.properties
acc.projectKey=UIT
acc.catalog=C:\sonar\project1c
acc.sources=C:\sonar\project1c\src
acc.check=true
acc.format=reportjson
acc.titleError=codeName

Иначе обработка будет лепить вместо "\" вот так "/" на Windows.
2) Важно! projectKey - это наименование конфигурации в АПК. Об этом тоже стоит сказать.
check2; olegtymko; +2 Ответить
133. olegtymko 556 24.07.19 03:03 Сейчас в теме
(132) Спасибо за замечания!)
От себя хочу еще добавить, что скрипт acc.bat в статье запускается из каталога project1c и поэтому можно не указывать абсолютные пути.
P.S.
п. 2 - в статье так и написано: "projectKey - это наименование конфигурации в АПК". Можно конечно скриншотом дополнить.
134. Diversus 2084 24.07.19 09:10 Сейчас в теме
(133) Я бы не писал если бы все было хорошо :)
Проблема в том, когда в обработке стоит относительный путь, то при построении полного пути получается вот такой путь: C:/sonar/project1c\src и естественно обработка не выгружает ничего из АПК.
135. olegtymko 556 24.07.19 09:50 Сейчас в теме
(134) Странно. Я посмотрю на досуге) Версия win какая?
136. Diversus 2084 24.07.19 09:51 Сейчас в теме
137. olegtymko 556 24.07.19 09:53 Сейчас в теме
138. Stepa86 1369 24.07.19 10:21 Сейчас в теме
(134) А какую версию брал? Из релизов? Я с путями достаточно много упражнялся, там в деве версия лежит
139. Diversus 2084 24.07.19 10:38 Сейчас в теме
(138) Брал из репозитария. Вчера вечером.
140. Stepa86 1369 24.07.19 10:41 Сейчас в теме
(139) Вот в этой возможно исправлена ошибка с путями https://github.com/otymko/acc-export/blob/develop/acc-export.epf
141. Diversus 2084 26.07.19 13:00 Сейчас в теме
Вообще, возникло странное ощущение от SonarQube.
С одной стороны все круто, с другой нет кучи того, что есть в том же АПК.
И наоборот в АПК нет того, что есть в сонаре.

Кстати, написал в ИжТиСи с просьбой прокомментировать почему в стандартах 1С есть ограничение на 120 символов в строке, а в АПК такой проверки нет. Они ответили и оказалось, что эта проверка закомментирована. Чтобы ее включить необходимо:
Для включения проверки на длину строки Вам необходимо раскомментировать алгоритм в правиле "Перенос выражений":

Настройка -> Правила -> в списке найдите правило "Перенос выражений".

В поле "Алгоритм" раскомментируйте стр.57-65.


Использовать сразу два продукта нелогично и не совсем верно, поэтому для себя приняли решение остаться на АПК и добавить туда те проверки, которые есть в SonarQube. Интересно никто таким не заморачивался?
olegtymko; acanta; +2 Ответить
142. olegtymko 556 26.07.19 13:25 Сейчас в теме
(141) чего по вашему мнению не хватает sonarqube по сравнению с АПК? Ну кроме количества диагностик конечно.
143. Diversus 2084 26.07.19 14:05 Сейчас в теме
(142) Именно количества диагностических проверок и не хватает. Во всем остальном понравилось все кроме краткого пути и не понятно в каком файле искать.
Но если выбирать между АПК и сонаром, то на данный момент это пока АПК. Возможно в будущем что-то изменится.

Кстати, а не думали о том, что бы как-то адаптировать использование проверок АПК и перебросить их в сонар каким-то автоматическим способом (например, используя oscript) запускать оттуда?
Т.е. грубо говоря, сделать импорт проверок.
144. nixel 910 26.07.19 14:24 Сейчас в теме
(143) так в статье как раз же описан способ импорта результата анализа АПК в сонар...
145. Diversus 2084 26.07.19 14:27 Сейчас в теме
(144) Я это понял и сделал так как написано. Речь о другом.
Зачем использовать два продукта, в принципе?
Если бы в сонаре были импортированы все проверки из АПК, то необходимости в АПК вообще бы не было.
146. nixel 910 26.07.19 14:29 Сейчас в теме
(145) ну, Москва не сразу строилась. АПК разрабатывают за зарплату, BSL LS - под пиво вечерком.

Если что, вы можете выключить встроенный анализатор BSL LS в сонаре и смотреть там исключительно АПКшные проверки.

Если речь про описания правил, то их импорт тоже в разработке.
147. Diversus 2084 26.07.19 14:32 Сейчас в теме
(146) Под пивко, да еще и в пятницу ;)
Не мужики, вы молодцы. Смотришь на таких энтузиастов и думаешь, вот откуда у них столько свободного времени на разработку подобных инструментов?
С другой стороны интересно почему сама 1С не финансирует подобные работы. Очень достойно и перспективно ведь.
olegtymko; nixel; +2 Ответить
148. olegtymko 556 26.07.19 14:54 Сейчас в теме
(147) Сейчас планируется сделать импорт описаний правил в sonarqube из АПК. Это даст возможность "не отходя от кассы" смотреть описание правил и иметь ссылки на стандарты ИТС. Что касаемо "А зачем использовать два продуктива?" - можно 1С: АПК упаковать в docker контейнер и запускать в CI забыв о его существовании в принципе.
Diversus; +1 Ответить
150. Diversus 2084 26.07.19 17:20 Сейчас в теме
(148) (149) А вы не сталкивались с такой ошибкой? (см вложение)
Если не импортировать из АПК все нормально, а если включить в настройках sonar-project.properties
sonar.bsl.languageserver.reportPaths=acc-json.json

То падает с этой ошибкой, причем фоновое в сонаре не запускает.
Прикрепленные файлы:
151. olegtymko 556 26.07.19 17:52 Сейчас в теме
(150) Была такая проблема. Можно взять обновленную обработку из релиза master или из ветки dev (https://github.com/otymko/acc-export/blob/develop/acc-export.epf).
217. ashinkarenko 09.01.20 12:23 Сейчас в теме
(151)Добрый день. Использовал последнюю доступную версию обработки, все равно при импорте падает с аналогичной ошибкой.
Прикрепленные файлы:
149. Labotamy 26.07.19 16:40 Сейчас в теме
(143)
Во всем остальном понравилось все кроме краткого пути и не понятно в каком файле искать.


Это лечится. Но как лекарство сделать общедоступным, пока не понятно.
Прикрепленные файлы:
web.rar
152. i_lo 204 29.07.19 01:37 Сейчас в теме
Добрый день!
Попробовал на своем компе sonarqube. jvm в памяти разрослась до 4Гб. От обилия своппинга всё встало. Буду просить у руководства виртуальный сервер. Какой минимально сервер нужен для сонара? ОС windows style.
Сколько ориентировочно времени занимает проверка, например ERP?
Планирую проверять доработанную УХ-у и переработанную бухгалтерию.
153. Stepa86 1369 29.07.19 10:02 Сейчас в теме
(152) Когда я проверял УХ 3, то для работы сканера потребовалось 20Гб оперативы. Сонар же был на машине с 16Гб с настройками из этой статьи. То есть сканер запускался с другой машины. Если вырезать перед анализом регл. отчетность, то и 6Гб должно хватить на сканер.
154. kabanoff 41 29.07.19 14:05 Сейчас в теме
Добрый день! Подскажите, откуда можно взять файлик "project1c/sonar-project.properties"? В статье про это ничего не сказано.
155. olegtymko 556 29.07.19 14:33 Сейчас в теме
(154) Добрый день. В статье есть ссылка(раздел про быстрый старт). Приклепляю ссылку и сюда https://github.com/otymko/article-sonar-for-infostart
157. kabanoff 41 29.07.19 16:23 Сейчас в теме
(155) Спасибо, получилось!
Теперь, правда, при выполнении скрипта Check.bat возникает множество предупреждений. Нигде не могу найти, где в SonarCube настраивается путь к каталогу проекта. Как это исправить?
Прикрепленные файлы:
158. olegtymko 556 29.07.19 16:26 Сейчас в теме
(157) Настраивается в файле sonar-project.properties:
* sonar.source=путь/к/каталогу/с/исходниками.
159. kabanoff 41 30.07.19 09:43 Сейчас в теме
(158) Не получается. Файл sonar-project.properties у меня настроен, находится в каталоге проекта. Но такое ощущение, что Check.bat его не видит.
160. olegtymko 556 30.07.19 10:04 Сейчас в теме
(159) запускайте check.bat из каталога project1c
163. kabanoff 41 30.07.19 11:58 Сейчас в теме
(160) Если я запускаю его (заменив предварительно token на свой), то получаю вот такой лог.
Сможете помочь?
Прикрепленные файлы:
164. kabanoff 41 30.07.19 13:23 Сейчас в теме
(163) Всё, у меня получилось. В мануале я нашел, как передать сканеру путь к файлу параметров проекта:
sonar-scanner -Dproject.settings=../myproject.properties


То есть у меня Check.bat получился вот таким:
E:\project1c\sonar-scanner\bin\sonar-scanner.bat -D"sonar.login=TOKEN" -Dproject.settings="E:\project1c\upp\sonar-project.properties"
, где TOKEN - ключ проекта.

Также потребовалось в файле sonar-scanner.properties прописать абсолютный путь к проекту и путь к базовому каталогу - без этого в среде ОС Windows сканер отказывался работать:
sonar.sources=E:/project1c/upp/src
sonar.projectBaseDir=E:/project1c/upp/src


Спасибо за статью и помощь!
olegtymko; +1 Ответить
161. roman_1379 30.07.19 10:50 Сейчас в теме
Всем привет. Не подскажете можно как то в плагине 1C (BSL) Community Plugin отключать из проверки некоторые правила?
162. olegtymko 556 30.07.19 11:56 Сейчас в теме
(161) Через профили качества. Создаем свой профиль и назначаем определенным проектами или всем проектам.
Прикрепленные файлы:
165. roman_1379 30.07.19 13:54 Сейчас в теме
(162)Спасибо, разобрался, профиль не должен наследоваться и тогда появляется возможно деактивировать ненужные правила.
166. KokotovAlexandr 05.08.19 11:32 Сейчас в теме
Подскажите пожалуйста!
При проверке конфигурации возникает ошибка:
ERROR: Error during SonarQube Scanner execution
java.lang.OutOfMemoryError
Caused by: java.lang.OutOfMemoryError: Java heap space
При этом указаны следующие параметры использования памяти:
SONAR_SCANNER_OPTS=-Xmx8g
В параметрах java стоит: -d64 -Xmx10G
В процессе работы java съедает не более 5Gb. Конфигурация не слишком большая (5460 проверяемых файлов).
94 процента проверки проходит за 15 минут. Потом еще 3% обрабатывается в течение часа, после чего и вываливается ошибка.
Что нужно перенастроить чтобы процесс проверки завершался без ошибок?
167. olegtymko 556 05.08.19 14:55 Сейчас в теме
(166) Конфигурация типовая? Если да - можно исключить типовые отчеты. Или попробуйте при запуске сканера указать больше озу: SONAR_SCANNER_OPTS=-Xmx10g
168. olegtymko 556 05.08.19 14:56 Сейчас в теме
(166) Еще есть пример для УХ -> (153)
169. KokotovAlexandr 05.08.19 15:51 Сейчас в теме
(168) Конфигурация не типовая. На сколько я понял в сам Сонар встроена своя Java или что-то типа того. Во всяком случае изменение параметров через интерфейс Configure Java результатов не дал. Получилось реализовать только добавив в файл check.bat следующую строку:
SET SONAR_SCANNER_OPTS=-XX:+UseG1GC -XX:MaxGCPauseMillis=200 -Xmx10g
Прикрепленные файлы:
170. Labotamy 05.08.19 16:10 Сейчас в теме
(169)
Получилось реализовать только добавив в файл check.bat следующую строку:

Все правильно сделали. Да с sonar-scanner для windows идет своя java. Это можно увидеть в файле sonar-scanner.bat
171. ghostaz 136 06.08.19 08:30 Сейчас в теме
Если бы вы перенесли проверки с Автоматизированной проверки конфигураций - цены бы не было вашему решению.
172. olegtymko 556 06.08.19 12:37 Сейчас в теме
(171) Работы ведутся! Можно помочь в развитии проекта -> https://github.com/1c-syntax/bsl-language-server и ускорить это дело )
221. check2 125 12.04.20 22:54 Сейчас в теме
(171) Владимир, о чём речь? Вроде как с АПК есть импорт и в статье описано. Или Вы про остальные проверки. кроме модулей?
226. ghostaz 136 13.04.20 09:50 Сейчас в теме
(221) Да, ест. Но я тогда не понял зачем сонар куб. Если просто из за веб интерфейса и графиков, то мое мнение это того не стоит. Мне проще автоматизировать АСС. Или же связать АСС TeamCity или jenkins.
Я в рамках статьи поставил сонар куб, да он красив и приятен, но его проверки не полные. Их очень мало. Я ни в коем случае не хочу обидеть разработчиков, работа проделана большая.
Если вы можете сказать чем именно можем помочь движок сонар куб, то буду признателен. Я его смотрел совсем не долго. Единственное что я помню это график изменения качества.
229. olegtymko 556 15.04.20 08:02 Сейчас в теме
(226) Для меня Sonarqube дает следующие возможности по сравнению с чистой АПК:
* Оценивать динамику изменения показателей проекта. В случае срабатывания порогов качества принимаются соответствующие мера;
* Анализировать замечания по авторам (разработчикам);
* Удобство просмотра замечаний (прямо в коде с удобными фильтрами);
* Рассылка о состоянии проекта.
230. olegtymko 556 15.04.20 08:17 Сейчас в теме
(226) Так же, если у вас есть предложения по улучшению проекта BSL LS (новые диагностики, ложные срабатывания и т.п.) то можете об этом написать тут -> https://github.com/1c-syntax/bsl-language-server/issues
177. for_sale 800 16.08.19 20:01 Сейчас в теме
1. Редактирую настройки согласно статьи.
2. Запускаю крипт СтартСонар
3. Процессор съедается на 99% (ай пятый).
4. Память съедается почти вся (8 гб!)
5. Вываливается ошибка - не смогло аллоцировать что-то в районе 4 гб памяти.

Подскажите, пожалуйста, что я делаю не так?
178. olegtymko 556 17.08.19 06:37 Сейчас в теме
(177)
Немного упрощаем настройки распределения памяти для запуска SonarQube. Допустим у вас 8 гб ОЗУ на компьютере. Но вы не хотите более 4 гб выделить под SonarQube. Расчет распределения памяти идет из следующего алгоритма.

Для CE выделяем половину доступной памяти, то есть 2 гб:

sonar.ce.javaOpts=-Xmx2Gb -XX:+HeapDumpOnOutOfMemoryError


Для WEb и Search должно быть выделено не более половины из доступной памяти (можно поделить поровну. 1 и 1 гб соответственно).

sonar.web.javaOpts=-server -Xmx1Gb -XX:+HeapDumpOnOutOfMemoryError
sonar.search.javaOpts=-Xmx1Gb -XX:+HeapDumpOnOutOfMemoryError
for_sale; +1 Ответить
179. for_sale 800 17.08.19 10:07 Сейчас в теме
(178) Отлично, спасибо!
Именно с такими настройками не заработало, выдало тоже какую-то ошибку про память, но главное, что я понял смысл этих буковок, заработало вот так:

sonar.web.javaOpts=-server -Xmx1g -Xms1g -XX:+HeapDumpOnOutOfMemoryError
sonar.ce.javaOpts=-Xmx2g -Xms2g -XX:+HeapDumpOnOutOfMemoryError
sonar.search.javaOpts=-Xms1g -Xmx1g -XX:+HeapDumpOnOutOfMemoryError
180. olegtymko 556 17.08.19 12:26 Сейчас в теме
(179) Про начальный пул памяти -Xms запамятовал)
181. for_sale 800 17.08.19 12:28 Сейчас в теме
(180)
Добавьте, пожалуйста, эту инфу в статью, а то устанете всем отвечать на один и тот же вопрос, если будет возникать)

UPD
У меня в комменте тоже неправильно, добавились мусорные символы от редактора комментов. Вот правильный:
sonar.web.javaOpts=-server -Xmx1g -Xms1g -XX:+HeapDumpOnOutOfMemoryError
sonar.ce.javaOpts=-Xmx2g -Xms2g -XX:+HeapDumpOnOutOfMemoryError
sonar.search.javaOpts=-Xms1g -Xmx1g -XX:+HeapDumpOnOutOfMemoryError
headMade; +1 Ответить
182. roman_1379 23.09.19 10:02 Сейчас в теме
Всем привет.
А никто не реализовал "Рассылка результатов проверки кода ответственным / виновникам замечаний"?
Я так понимаю это должно происходить из SonarQube? Сами настройки на отправку сделал почты, тестовое письмо отправляется, а вот как сделать рассылку, нигде таких настроек не нашёл.
183. Stepa86 1369 23.09.19 10:10 Сейчас в теме
(182) А это в самом сонаре и настраивается. Там нужно указать параметры отправки под админом, а каждый пользователь должен у себя включить оповещения
roman_1379; +1 Ответить
184. roman_1379 23.09.19 11:24 Сейчас в теме
(183)Спасибо! В настройках пользователя включил уведомления, письма ему приходят если другой пользователь оставляет комментарии или назначает на него повторно замечания, но самое нужно чего хотелось бы это после завершения сонар-сканера в случае ошибок происходила рассылка. Сопоставления пользователя из гитлаба успешно попадают в сонаркубэ и назначаются, но рассылка не происходит (
185. olegtymko 556 23.09.19 13:02 Сейчас в теме
(184)
Сопоставления пользователя из гитлаба успешно попадают в сонаркубэ и назначаются, но рассылка не происходит (


Все настройки только под пользователями sonarqube персонально, примерно это выглядит вот так:



В каждом виде рассылки четко указано что она рассылает. Можно пользоваться другими решениями. Например: https://quboo.io
Прикрепленные файлы:
186. roman_1379 23.09.19 14:50 Сейчас в теме
(185)Так и делал, рассылка работает если уже есть не пустой проект и происходят какие то изменения кода и появляются ошибки. НО если проект ещё не создан и происходит его создание через сонар-сканер или даже если изначально будет создан пустой через браузер и потом сонар-сканер, то никакой рассылки не происходит, не смотря на то, что есть код и ошибки и пользователи успешно сопоставляются и назначаются! И ещё самое интересное, если я создаю новый объект в конфе, допускаю в нем ошибку обновляю это в существующий проект и тут не происходит рассылка, а вот если я ещё раз, в этом уже созданным объекте сделаю ошибку и выгружу, тогда все четко - приходит письмо. Это никуда не годиться, все это баловство не доработанное ) Или может ещё что то, где то настроить? А плагин 1C (BSL) пропускает случайные слова? символы в коде, захочу написать например по среди кода "впапрпвпвапв" так он ничего не скажет, проверку код пройдёт, но работать не будет ))

А что quboo лучше? На начальной странице уже написано beta
188. olegtymko 556 25.09.19 15:28 Сейчас в теме
(186) Создайте проект с ключом до первого анализа через sonar-scanner. По поводу первой ошибки в новом объекте - там проблемы у нас замечено не было пока.

Quboo - да, он бета. Удобно работать с замечаниями и выгружать их в какую то другую структуру.

По поводу "по среди кода "впапрпвпвапв"" - это стат анализ. Пока проверки на корректные имена объектов нет, есть проверка в этом направлении - пропущенная ";".
187. roman_1379 25.09.19 09:08 Сейчас в теме
Что никто не пользуется рассылкой или вообще SonarQube? Или у всех работает без проблем рассылка во всех случаях?
189. olegtymko 556 25.09.19 15:31 Сейчас в теме
(187) у нас своя custom рассылка из Sonar, средствами внешних скриптов на OneScript. Можно воспользоваться еще проектом: https://github.com/bia-technologies/sonar-helper
190. roman_1379 26.09.19 08:09 Сейчас в теме
а можно где то подробнее почитать про "custom рассылка из Sonar, средствами внешних скриптов на OneScript" или это и есть sonar-helper?
192. olegtymko 556 26.09.19 09:54 Сейчас в теме
(190) Про сонар-хелпер можно почитать на github. Про внутренние скрипты - то они пока не в презентабельном виде, как будет время допилю и выложу.
roman_1379; +1 Ответить
195. roman_1379 26.09.19 13:11 Сейчас в теме
(192)
буду ждать статью... спасибо!
Оставьте свое сообщение
Вопросы с вознаграждением