Разделение сборки и теста на Дженкинса

0

У меня есть угловое приложение, которое я разрабатываю с использованием контроля источника (gitlab), я недавно интегрировал его с jenkins, так что каждый раз, когда я нажимаю на свой git, он запускает сборку. В моих jenkins я создал работу, которая в значительной степени создает приложение (устанавливает зависимости) и запускает тест. Ниже приведена моя оболочка выполнения в моей работе.

export npm_config_prefix=.npm/
export PATH=.npm/bin:$PATH
npm install -g bower grunt-cli
npm install
bower install
gulp test

Теперь проблема в том, что я не хочу создавать и запускать тест как один и тот же шаг, который я хочу, чтобы они разделились. Итак, как мне это достичь? Создать новое задание и добавить gulp test в оболочку выполнения нового задания? Или есть какой-то другой подход. Я новичок в jenkins и CI в целом, поэтому было интересно, какой будет подход в этой ситуации?

Теги:
jenkins
continuous-deployment
continuous-integration

1 ответ

0
Лучший ответ

Как вы нашли, Дженкинс - сверхпродвинутый бегун сценариста оболочки, чтобы отвлечь скучную часть от повторяющихся шагов в процессе сборки.

Следующий шаг - выследить плагины, чтобы сделать эти шаги для вас более чистым способом. Здесь подключаются плагины

Это плагин Node, который будет устанавливать пакеты npm вне задания, поэтому вам не нужно выполнять npm install -g каждое задание

Вы хотите сохранить шаг сборки как оболочку

npm install
bower install
gulp test

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

Вы не сказали, какой тестовый бегун вы используете, но вы, вероятно, найдете шаг издателя, который принесет это в Jenkins для вас. Плагин xUnit охватывает довольно много бегунов, поэтому может работать для вас

И это учебник по установке плагинов в Jenkins

  • 0
    Я предполагаю, что xunit предназначен для неудачных тестов для некоторых пороговых значений и т. Д. Это хорошо, но я все еще не понимаю, как разделить сборку и тест. Потому что, когда я создал новую работу и просто написал тест gulp на своей второй работе, я получил ошибку, в которой говорится, что gulp not found и т. Д.
  • 0
    Является ли gulp зависимостью (dev) в вашем package.json? затем вам нужно выполнить npm install чтобы получить его или добавить в список пакетов для установки с помощью плагина узла. npm install без -g пакеты сохраняются в каталоге node_modules вашего проекта или рабочей области в Jenkins, поэтому для нового проекта это поле будет пустым или если вы очистите рабочую область

Ещё вопросы

Сообщество Overcoder
Наверх
Меню