как провалить сборку GoCD, основанную на качественных воротах сонара? - PullRequest
0 голосов
/ 03 октября 2019

как отказать в сборке GO на основе качества гидролокатора?

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

enter image description here

enter image description here

Ответы [ 2 ]

1 голос
/ 07 октября 2019

Судя по ответу @moritz, это сработало для меня.

Я создал bat-файл, который проверял бы код состояния проекта SONAR, после того, как сборка SONAR выполнена и на основе состояния ответа, вернет код выхода.

For /F "Delims=" %%A In ('"curl  http://mysonarserver/api/qualitygates/project_status?projectKey=com.mypackage:sampleproject | jq ".projectStatus.status""') Do Set "test=%%~A"
echo %test%
If /I "%test%"=="ERROR" exit -1
If /I "%test%"=="OK" exit 0

В моем случае сервер SONAR вернул бы ERROR и OK в зависимости от состояния сборки.

Я использовал curl и jq для выполнения http-запроса из командной строки и для парсинга ответа на json соответственно.

Мне пришлось немного поработать, чтобы он работал на Windows, надеюсь, он должен работать и на Linux.

При необходимости вы также можете добавить вызов в сборку Maven для Sonar из этого сценария.

Надеюсь, это поможет!

0 голосов
/ 03 октября 2019

GoCD не выполняет задачу (и, следовательно, этап и задание, если не сконфигурировано иное), когда код выхода не равен нулю.

Таким образом, вам нужно принести любую команду, которую вы выполняете, чтобы указать сбой через не-нулевой код выхода (что делает большинство команд UNIX).

...