Файлы, упомянутые в главе

  • .gitlab-ci.yml

В этой главе мы настроим в нашем базовом приложении выполнение тестов/линтеров. Запуск тестов и линтеров - это отдельная стадия в пайплайне Gitlab CI, для выполнения которой может требоваться соблюдение определенных условий. Рассмотрим на примере линтера ESLint для языка программирования JavaScript (написан на Node.js).

Требуется добавить эту зависимость в package.json, создать к нему конфигурационный файл .eslintrc.json и прописать выполнение задания отдельной стадией на GitLab Runner командой werf run.

Run Tests:
  stage: test
  script:
    - werf run basicapp -- npm run pretest
  except:
    - schedules
  tags:
    - werf
  dependencies:
    - Build
Run Tests: stage: test script: - werf run basicapp -- npm run pretest except: - schedules tags: - werf dependencies: - Build

Созданную стадию нужно добавить в список стадий:

stages:
- build
- test
- deploy
stages: - build - test - deploy

Обратите внимание, что процесс будет выполняться на runner, внутри собранного контейнера, но без доступа к базе данных и каким-либо ресурсам Kubernetes-кластера.

А если нужно больше?

Если нужен доступ к ресурсам кластера или база данных — это уже не линтер: потребуется собрать отдельный образ и прописать сложный сценарий деплоя объектов Kubernetes. Эти случаи выходят за рамки нашего самоучителя для начинающих.