Angular TSLint: переходите к следующему шагу, даже если ошибки

#typescript #azure-devops #azure-pipelines #tslint #angular10

#typescript #azure-devops #azure-конвейеры #tslint #angular10

Вопрос:

Я получаю следующие ошибки при запуске TSLint в конвейере сборки Azure Devops. Я хочу, чтобы конвейер сборки продолжался до следующего шага, даже если есть ошибка lint. Как это можно решить?

Командная строка:

   - script: |
      npm run lint > tsLintReport.txt
    displayName: 'ng lint'
  

Ошибка:

 Lint warnings found in the listed files.
Lint errors found in the listed files.
Lint errors found in the listed files.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! ipts@1.0.0 lint: `ng lint`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the ipts@1.0.0 lint script.
  

Комментарии:

1. Компоновка не удалась, потому что в некоторых файлах есть ошибки компоновки. Проверьте tsLintReport.txt , нет ли их.

2. Я хочу, чтобы конвейер сборки продолжался, даже если есть ошибка lint. можно ли это сделать cc @AlexBiro

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

Ответ №1:

Пожалуйста, добавьте continueOnError :

   - script: |
      npm run lint > tsLintReport.txt
    displayName: 'ng lint'
    continueOnError: true
  

это не нарушит сборку, но сборка завершится с проблемами.

Комментарии:

1. Есть ли способ просмотреть ошибки или предупреждения lint на вкладке сводка?

2. Вкладка «Сводка» поддерживает формат markdown. Поэтому вам нужно его отформатировать. Но вы можете попробовать использовать команду ведения журнала, как это показано здесь learn.microsoft.com/en-us/azure/devops/pipelines/scripts/… вы можете попробовать также загрузить файл как uploadfile

3. Спасибо Madej, это полезно знать. Также я обнаружил, что для Eslint уже есть форматеры (eslint-formatter-vso), поэтому планирую вместо этого пойти по этому пути.

4. Круто! Можете ли вы рассмотреть возможность повышения моего ответа, если это было полезно для вас?

Ответ №2:

попробуйте запустить «npm run lint — —fix», который автоматически исправит ошибки lint

Комментарии:

1. Такие изменения никогда не должны выполняться в конвейере CI

2. @NicoHaase Если у нас возникнет проблема с угловым кодом в CICD pile, мы можем использовать эту команду с угловым кодом, если у нас есть пустое место или вместо === если мы добавили ==, это разрешится автоматически

3. Что вы подразумеваете под «это разрешится автоматически»? Будет ли конвейер фиксировать эти изменения в вашем репозитории?