Разрешить артефакты, используя нексус в Jenkins

Я пытаюсь создать частные артефакты maven на некоторых VPS, работающих под управлением OpenShift Origin. Я настроил локальную службу Nexus ( http://nexus-ci.apps.intrinsic.world/content/groups/public/) и уже преуспел (автоматически) с использованием другого экземпляра Jenkins для создания некоторых jar-файлов и загрузки их туда,

Теперь я хочу, чтобы этот другой отдельный экземпляр Jenkins (так что нет общего репозитория) просто использовал nexus, чтобы найти все его maven-зависимости. Чтобы добиться этого, я попытался предоставить следующее settings.xml документ к основной конфигурации Дженкинса, но безрезультатно:

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <profiles>
    <profile>
      <id>nexus</id>
      <activation>
        <property>
          <name>nexus</name>
          <value/>
        </property>
      </activation>
      <repositories>
        <repository>
          <id>nexus-repository</id>
          <url>http://nexus-ci.apps.intrinsic.world/content/groups/public/</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </repository>
      </repositories>
      <pluginRepositories>
        <pluginRepository>
          <id>nexus-plugin-repository</id>
          <url>http://nexus-ci.apps.intrinsic.world/content/groups/public/</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>
  </profiles>
  <activeProfiles>
    <activeProfile>nexus</activeProfile>
  </activeProfiles>
</settings>

Что мне не хватает?

2 ответа

Решение

Вы должны использовать группу, переопределить центральную и настроить зеркало. Подробности с примером есть в документации.

Также вы можете посмотреть на использование config-file-provider-plugin. Я записал несколько видео о настройке Дженкинса в серии " Советы из окопов ".

Если вы хотите, чтобы все зависимости загружались через Nexus, вы должны использовать зеркальное определение вместо дополнительных репозиториев:

<mirror>
  <id>nexus</id>
  <mirrorOf>*</mirrorOf>
  <name>Nexus</name>
  <url>http://nexus-ci.apps.intrinsic.world/content/groups/public/</url>
</mirror>
Другие вопросы по тегам