Как использовать проекты 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
Я не знаю о таком процессе, но я предлагаю вам использовать функциональность Копировать проект.
- Новая работа
- Копировать из существующей работы
У вас будет копия вашей работы, и вы сможете легко настроить все конкретные поля.