Как развернуть сборки Jenkins в репозиторий Maven в локальной файловой системе - PullRequest
3 голосов
/ 01 апреля 2012

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

Я настроил Jenkins для развертывания артефакта в моем хранилище Maven и заполнил этот URL

file:///home/tomas/.m2/repository

Если я попытаюсь построить проект, я получу это исключение

Maven RedeployPublished use remote  maven settings from : /var/lib/jenkins/tools/mvn/conf/settings.xml
[INFO] Deployment in /home/tomas/.m2/repository (id=,uniqueVersion=true)
Deploying the main artifact wst-root-pom-1.0.pom
ERROR: Failed to deploy artifacts/metadata: No connector available to access repository  (/home/tomas/.m2/repository) of type default using the available factories WagonRepositoryConnectorFactory
org.apache.maven.artifact.deployer.ArtifactDeploymentException: Failed to deploy artifacts/metadata: No connector available to access repository  (/home/tomas/.m2/repository) of type default using the available factories WagonRepositoryConnectorFactory
    at org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer.java:141)
    at hudson.maven.reporters.MavenArtifactRecord.deploy(MavenArtifactRecord.java:182)
    at hudson.maven.RedeployPublisher.perform(RedeployPublisher.java:176)
    at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)
    at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:703)
    at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:678)
    at hudson.maven.MavenModuleSetBuild$RunnerImpl.post2(MavenModuleSetBuild.java:998)
    at hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:625)
    at hudson.model.Run.run(Run.java:1435)
    at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:481)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:238)
Caused by: org.sonatype.aether.deployment.DeploymentException: Failed to deploy artifacts/metadata: No connector available to access repository  (/home/tomas/.m2/repository) of type default using the available factories WagonRepositoryConnectorFactory
    at org.sonatype.aether.impl.internal.DefaultDeployer.deploy(DefaultDeployer.java:235)
    at org.sonatype.aether.impl.internal.DefaultDeployer.deploy(DefaultDeployer.java:211)
    at org.sonatype.aether.impl.internal.DefaultRepositorySystem.deploy(DefaultRepositorySystem.java:443)
    at org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer.java:137)
    ... 11 more
Caused by: org.sonatype.aether.transfer.NoRepositoryConnectorException: No connector available to access repository  (/home/tomas/.m2/repository) of type default using the available factories WagonRepositoryConnectorFactory
    at org.sonatype.aether.impl.internal.DefaultRemoteRepositoryManager.getRepositoryConnector(DefaultRemoteRepositoryManager.java:400)
    at org.sonatype.aether.impl.internal.DefaultDeployer.deploy(DefaultDeployer.java:231)
    ... 14 more
[INFO] Deployment failed after 0,26 sec
Build step 'Deploy artifacts to Maven repository' changed build result to FAILURE
Finished: FAILURE

1 Ответ

3 голосов
/ 01 апреля 2012

Напоминаю, что это проблема совместимости с maven 3.Согласно примечаниям: https://cwiki.apache.org/MAVEN/maven-3x-compatibility-notes.html#Maven3.xCompatibilityNotes-TransportProtocols%2528Wagons%2529

В отличие от Maven 2, Maven 3 поддерживает из коробки только http :, https: и file: в качестве транспортных протоколов.Чтобы использовать другие транспортные протоколы, такие как scp:, соответствующие вагоны должны быть явно объявлены в POM как расширение сборки.Если рассматриваемый вагон используется только для развертывания в хранилище, он также может быть объявлен как зависимость плагина Maven Deploy.

Поэтому убедитесь, что вы используете Maven 3, в противном случае вам придетсязагрузите свой собственный универсал как расширение maven.Вот руководство по использованию расширений Maven: http://maven.apache.org/guides/mini/guide-using-extensions.html

Примечание: Wagon 1.0-beta-3 + требует Maven 2.1.0 или выше.Для Maven 2.0.10 и более ранних версий используйте Wagon 1.0-beta-2.

<project>
  ...
  <build>
    <extensions>
      <extension>
        <groupId>org.apache.maven.wagon</groupId>
         <artifactId>wagon-file</artifactId>
         <version>1.0-beta-3</version>
      </extension>
    </extensions>
  </build>
  ...
</project>

Это должно решить вашу проблему.Если это не сработает, дважды проверьте путь maven, чтобы увидеть, не конфликтуют ли разные версии.

...