Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Как сделать сделать maven таску на bamboo с exit code 0 ?

bamboo
maven-surefire-plugin
maven
java
Теги: #<Tag:0x00007f7b68edad60> #<Tag:0x00007f7b68edabf8> #<Tag:0x00007f7b68edaa90> #<Tag:0x00007f7b68eda928>

(qa_in_gene_qa_in_gene) #1

Всем привет!
У меня есть Bamboo сервер, в ней план, джоба, в ней несколько тасок + maven таска + final таски за ними. Скажите, как можно сделать так, чтобы, независимо от того зафейлилась maven таска или нет, джоба отображалась как успешно завершенной ?

Или может быть есть возможность переопределить результат выполения теста?

Failing task since return code of [C:\tools\maven\bin\mvn.bat --batch-mode -Djava.io.tmpdir=C:\atlassian\Bamboo\temp\AUTOTEST-SRFCUCUMBER1-RUNSRF11FF -am -pl srf -PrunSeveralFeatures clean verify -Dtag1=~@skip -Dtag2=~@pre-setup -Dbrowser=firefox -Dremote=true -Dfeature="'src/test/resources/features/node-2/Login.feature''src/test/resources/features/node-2/Logout.feature'"] was 1 while expected 0


(Andrew Zakordonets) #2

Для начала я думаю нужно ответить на один простой вопрос - а зачем так делать ? Ведь CI построен на принципе - если джоба завершилась без ошибок - значит она зеленая, все хорошо. Если есть какие то ошибки или проблемы - красная или желтая. Это ее суть. Для чего ее менять и что вам даст сокрытие ошибок ?


(qa_in_gene_qa_in_gene) #3

@biercoff Хорошо, у меня есть задача:
есть бамбу джоба, в ней две maven таски (первая выполняет тесты, другая final maven таска - выполняет зафейленные тесты, которые могут быть падать из-за нестабильности). То есть попытка интегрировать cucumber rerun в CI.
Нужно чтобы результат джобы зависил только от второй maven final таски


(Andrew Zakordonets) #4

Возможны два варианта :

  1. Разнести эти две джобы на отдельные. Вторую с перезапуском зафейленых тестов сделать dependant от первой и просто игнорировать фейл первой, а всегда смотреть на результат второй.
  2. Быстрое гугление показало мне вот что - https://jira.atlassian.com/browse/BAM-9108 :

I have added the option “Use Maven’s Return Code” in the task configuration panel for Maven tasks. Checking this box will turn off looking for “Build Success” and instead make Bamboo use the return code from Maven. This will allow you to use the --fail-never flag to force a build to pass, as discussed above.
This feature should make it into Bamboo 3.3.1.

То есть нужно в первой джобе указать флаг --fail-never и включить “Use Maven’s Return Code” , но опять таки - я бы тогда разделил эти две джобы и эти опции включил бы только для первого прогона тестов. А вторую джобу сделал бы снова dependant от первой и там эти опции уже не включал бы. Если такое прокатит - отпишись здесь пожалуйста - было бы интересно узнать что из этого выйдет


(qa_in_gene_qa_in_gene) #5

@biercoff, второй вариант прошел на ура, огромное спасибо! :slight_smile:

Первый вариант для меня не пройдет, т.к. уже заточена инфраструктура, но все равно благодарю за еще один вариант.
PS: Сегодня с утра пришла мысль поиграться с скипом “maven cucumber reporting” плагин + maven profile, то есть, если скипнуть (не использовать) “maven cucumber reporting” плагин, то даже зафейленные тесты будут иметь “BUILD SUCESS” status. Но это уже другая тема


(Andrew Zakordonets) #6

Отлично :slight_smile: