Сборка Дженкинса провалилась из-за причины - PullRequest
0 голосов
/ 06 апреля 2020

Цель состоит в том, чтобы прервать сборку конвейера, когда рейтинг страйкеров ниже X. Как это можно настроить в файле Jenkins или каким-либо другим подходом?

Конфликт страйкеров:

  config.set({
    mutator: "javascript",
    mutate: [...],
    testRunner: "jest",
    jest: {
      projectType: "node",
      config: require("jest.config.js"),
      enableFindRelatedTests: true,
    },
    loglevel: "trace",
    packageManager: "yarn",
    reporters: ["html", "clear-text", "progress", "dashboard"],
    transpilers: [],
    coverageAnalysis: "off",
  });

Часть файла Дженкинса:

 "Stryker test": {
stage('Mutation') {
node("${containerName}") {
container("${containerName}") {
unstash name: 'myApp'
dir("./my") {
sh '''hostname
./node_modules/.bin/stryker run
'''
}

1 Ответ

3 голосов
/ 08 мая 2020

Этого можно добиться с помощью конфигурации thresholds. Например, Stryker выдаст ошибку (код выхода 1) для оценок ниже 40 со следующей конфигурацией:

  config.set({
    thresholds: { high: 80, low: 60, break: 40 }
    ...
  });

Это означает, что результат для вашей оценки мутации будет:

  • оценка мутаций> = 80: Отлично! Репортеры должны покрасить этот зеленый и счастливый.
  • высокий> показатель мутации> = 60: Внимание! Журналисты должны покрасить этот оранжевый / желтый. Следи за собой! Однако ничего не сломается.
  • оценка мутации <<code>60: опасность! Репортеры должны покрасить это в красный цвет. Вы в опасности, но по-прежнему код выхода 0
  • оценка мутации <<code>40: Ошибка! Stryker завершит работу с кодом выхода 1, указывающим на сбой сборки. Впрочем, для репортеров это не имеет значения.
...