Maven не работает на Jenkins (целевой репозиторий не может быть пустым), но не локальный - PullRequest
0 голосов
/ 25 ноября 2018

У меня есть простой проект maven, который успешно запускается локально, но не работает при работе на Jenkins.

pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.example.abc.test</groupId>
    <artifactId>dev-test</artifactId>
    <packaging>pom</packaging>
    <version>1.0.0-SNAPSHOT</version>
    <name>DEV-TEST</name>
    <modules>
        <module>dev-test-abc</module>
        <module>dev-test-assemblies</module>
    </modules>
    <distributionManagement>
        <repository>
            <id>artifactory.example.org</id>
            <name>artifactory.example.org-releases</name>
            <url>http://artifactory.example.org:8081/artifactory/project-releases</url>
        </repository>
        <snapshotRepository>
            <id>artifactory.example.org</id>
            <name>artifactory.example.org-snapshots</name>
            <url>http://artifactory.example.org:8081/artifactory/project-snapshots</url>
        </snapshotRepository>
    </distributionManagement>
    <repositories>
        <repository>
            <id>artifactory</id>
            <name>Artifactory maven repository</name>
            <url>http://artifactory.example.org:8081/artifactory/repo</url>
            <releases>
                <enabled>true</enabled>
                <updatePolicy>always</updatePolicy>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>plugin-artifactory</id>
            <name>Artifactory maven repository</name>
            <url>http://artifactory.example.org:8081/artifactory/repo</url>
            <releases>
                <enabled>true</enabled>
                <updatePolicy>always</updatePolicy>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>
</project>

Я запускаю его локально с mvn clean install на Jenkinsон не работает с подключаемым модулем maven.

На Jenkins я получил следующее:

[INFO] DEV-TEST::ABC ......................... FAILURE [  2.928 s]
[INFO] DEV-TEST::ASSEMBLIES .................. SKIPPED
[INFO] DEV-TEST .............................. SKIPPED
[INFO] ------------------------------------------------------------------------
... ... ...
[INFO] ------------------------------------------------------------------------
[ERROR] Internal error: java.lang.IllegalArgumentException: Target repository cannot be empty -> [Help 1]
org.apache.maven.InternalErrorException: Internal error: java.lang.IllegalArgumentException: Target repository cannot be empty
    at org.apache.maven.lifecycle.internal.builder.BuilderCommon.handleBuildError(BuilderCommon.java:147)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:129)

Здесь указан модуль отказа:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.example.abc.test</groupId>
        <artifactId>dev-test</artifactId>
        <version>1.0.0-SNAPSHOT</version>
    </parent>
    <artifactId>dev-test-abc</artifactId>
    <name>DEV-TEST::ABC</name>
    <version>1.0.0-SNAPSHOT</version>
</project>

Как он работаетЯ думаю, что это что-то с настройками maven, которые находятся в "C: /users/USER/.m2/settings.xml", есть что-то, что может вызвать эту ошибку - это можно переместить в pom проекта, чтобы сделать это возможнымУспешно ли строить Дженкинс?

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

Ответы [ 2 ]

0 голосов
/ 25 ноября 2018

Проверьте версию плагина Artifactory.Смотри: https://www.jfrog.com/jira/browse/HAP-241

0 голосов
/ 25 ноября 2018

Убедитесь, что вы выбрали целевой репозиторий, но, похоже, отсутствует тег издателя.Вы можете использовать плагин под названием maven artifactory , по ссылке ниже приведены примеры и руководство по этому поводу:

artifactory-maven-plugin-example-and-guide

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...