Как использовать проекты Jenkins Multi-Configuration (Matrix) типа?

Официальная вики-страница Дженкинса для проектов Matrix мне не очень помогает; поэтому у меня есть несколько вопросов.

Мы пытаемся создать несколько проектов, которые по сути одинаковы, но некоторые из них по-разному рекламируются для наших клиентов. Другими словами, все программное обеспечение / тесты / и т. Д. Идентичны, за исключением некоторых настроек, превращающих BrandA в BrandB (или BrandC и т. Д.).

Я полагаю, что должен использовать проект Matrix для создания сборок для BrandA, BrandB и т. Д. Хотя я еще не понял всех своих шагов (в том числе, как переименовать исполняемые файлы после их сборки), я знаю, что мне нужно будет пройти название бренда для многих моих сценариев Jenkins Powershell в процессе сборки, а затем использовать этот бренд в сценарии.

Как я могу получить эти переменные в моих сценариях? Они автоматически передаются на каждый шаг сборки в Jenkins? Какое имя переменной использовать?

Наконец, есть ли хороший ресурс по созданию этих проектов с несколькими конфигурациями в Jenkins? Я не могу найти что-то всеобъемлющее в Интернете.

3 ответа

Решение

Если вы обычно строите работу для BrandA и только иногда для BrandB и BrandC, матричный проект может оказаться не тем, что вам нужно. Вместо этого я рекомендую использовать параметризованное задание, где бренд - это параметр, значением по умолчанию которого является BrandA. Если параметр назван BRAND параметр доступен во всех сборках и публикует шаги с ${BRAND} и как переменная среды, как %BRAND%,

Я отсылаю вас к параметризованной сборке вики для более подробной информации.

Да, ${BRAND} а также %BRAND% должно работать нормально.

Если вы используете Maven, ${env.BRAND} делает это тоже.

Есть плагин, который вы можете увидеть все переменные среды, которые доступны для вашей работы / сборки. https://wiki.jenkins-ci.org/display/JENKINS/EnvInject+Plugin

Я не знаю о таком процессе, но я предлагаю вам использовать функциональность Копировать проект.

  1. Новая работа
  2. Копировать из существующей работы

У вас будет копия вашей работы, и вы сможете легко настроить все конкретные поля.

Другие вопросы по тегам