Jenkins не фильтрует ресурсы Maven с помощью переменных среды в проектах свободного стиля - PullRequest
3 голосов
/ 20 сентября 2011

Кажется, что Дженкинс по-разному управляет переменными среды, когда задание является проектом Maven 2/3 или это проект в свободном стиле.

Позвольте мне показать вам мои тесты.

Проект

Это простой проект Java 1.6 (сгенерированный, например, по умолчанию в архетипе Maven), который содержит в src/main/resources следующее myfile.xml:

<foo>
    <bar>${project.version}</bar>
    <bar>${foo.bar}</bar>
</foo>

В моем pom.xml я прошу Maven отфильтровать этот каталог:

<build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
        </resource>
    </resources>
</build>

Теперь я определяю свойство foo.bar как среду Windows (равно 42).

В Информация о системе на странице администрирования Jenkins я вижу эту переменную в разделе Переменные среды .

Тест 1

Я создаю новый «проект maven 2/3» в Jenkins и задаю базовую конфигурацию: версии Java и Maven, цели Maven (clean package).Я запускаю это задание и, наконец, получаю следующее myfile.xml:

<foo>
    <bar>1.0-SNAPSHOT</bar>
    <bar>42</bar>
</foo>

В этом случае обе переменные были отфильтрованы Maven.

Тест 2

Я создаю новый «проект программного обеспечения в свободном стиле» в Jenkins и задаю ту же конфигурацию, что и в Test 1 , добавив один шаг сборки, цель Maven верхнего уровня.Используется та же команда Maven, т.е. clean package.Когда сборка завершена, myfile.xml выглядит следующим образом:

<foo>
    <bar>1.0-SNAPSHOT</bar>
    <bar>${foo.bar}</bar>
</foo>

Таким образом, переменная окружения foo.bar, по-видимому, не учитывается, когда сборка основана на проекте в свободном стиле.

Мой вопрос: есть ли причина для такого поведения?Или это ошибка Дженкинса?

Jenkins v1.430 (установлен на сервере Windows 2003), Maven 2.0.9 или Maven 2.2.1 (то же поведение), Java 1.6

Ответы [ 2 ]

0 голосов
/ 21 ноября 2012

Я думаю, это из-за ошибки в Maven, а не из-за проблемы Дженкинса.

Я столкнулся с той же проблемой (независимо от конфигурации задания Jenkins) при использовании Maven 3.0.3. После обновления до Maven 3.0.4 проблема была решена.

0 голосов
/ 01 февраля 2012

Я испытываю то же самое.

Мой обходной путь - перейти на страницу конфигурации проекта, нажать «Дополнительно» для шага сборки Maven и определить мои свойства в предоставленном текстовом поле, например * 1003.*

...