Релиз Jenkins Maven отправляется в репозиторий lib-snapshot. - PullRequest
0 голосов
/ 10 мая 2019

У меня есть настройка, в которой Jenkins используется для выпуска проекта maven в артефакт.Я вижу, что все работает нормально, что делает Maven Release, например, увеличивает версии pom, создает тег, но он не загружается в репозиторий lib-release, а загружает его в репозиторий lib-snapshot.

Я подтвердил свои settings.xmlи увидел, что он использует разные идентификаторы для моментального снимка и выпуска репо.Что еще я могу проверить, чтобы решить эту проблему?

Это мои settings.xml

<?xml version="1.0" encoding="UTF-8"?>
<!--<settings.version>1.0.1</settings.version>-->
<!--<settings.region>IL</settings.region>-->
<!--<settings.type>server</settings.type>-->
<settings xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd" xmlns="http://maven.apache.org/SETTINGS/1.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <servers>
    <server>
      <id>artifactory_server</id>
      <username>deploy_user</username>
      <password>xxxxxxxxxxxxxxxxxxx</password>
    </server>
  </servers>
  <profiles>
    <profile>
      <repositories>
        <repository>
          <snapshots />
          <releases>
            <enabled>false</enabled>
          </releases>
          <id>artifactory-snapshots</id>
          <name>libs-snapshot</name>
          <url>http://artifactory.example.com/artifactory/libs-snapshot</url>
        </repository>
        <repository>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
          <id>artifactory-release</id>
          <name>libs-release</name>
          <url>http://artifactory.example.com/artifactory/libs-release</url>
        </repository>
      </repositories>
      <pluginRepositories>
        <pluginRepository>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
          <releases>
            <enabled>true</enabled>
          </releases>
          <id>central</id>
          <name>plugins-release</name>
          <url>http://artifactory.example.com/artifactory/plugins-release</url>
        </pluginRepository>
        <pluginRepository>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
          <releases>
            <enabled>false</enabled>
          </releases>
          <id>snapshots</id>
          <name>plugins-snapshot</name>
          <url>http://artifactory.example.com/artifactory/plugins-snapshot</url>
        </pluginRepository>
      </pluginRepositories>
      <id>artifactory</id>
    </profile>
  </profiles>
  <activeProfiles>
    <activeProfile>artifactory</activeProfile>
  </activeProfiles>
</settings>

1 Ответ

0 голосов
/ 10 мая 2019

Это полностью зависит от определений Maven и POM. По умолчанию каждый запуск Jenkins представляет собой снимки, но вы можете контролировать их Хранилища с

<snapshots>
   <enabled>false</enabled>
</snapshots>

И с помощью maven-release-plugin https://maven.apache.org/maven-release/maven-release-plugin/examples/prepare-release.html

...