Spring-boot-maven-plugin не развертывается в одном из двух хранилищ артефактов - PullRequest
0 голосов
/ 17 декабря 2018

У меня есть два репозитория артефактов, один для моментальных снимков, а другой для выпусков.Более старый проект использует maven-release-plugin и успешно развертывается в обоих репозиториях в зависимости от переданных параметров.

Но у меня есть приложение Spring Boot, которое использует spring-boot-maven-plugin, и с такой же конфигурациейразвертывается только в моем репозитории моментальных снимков, хотя я передаю release как параметр.Я также хотел бы удалить -SNAPSHOT из полученного артефакта.

Я использую Jenkis для сборки и развертывания.

Может кто-нибудь пролить свет на это?Я исследовал, но вышел пустым.Пожалуйста, спросите меня, если вам нужна дополнительная информация.Заранее спасибо!

Это параметры в моем разделе «Цели и варианты» для jenkins для обоих приложений.

deploy -P release --batch-mode release:prepare release:perform -DscmCommentPrefix=RELEASE -DignoreSnapshots=true -D https.protocols=TLSv1.2

Рабочее наследие 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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.myapp</groupId>
<artifactId>myapp</artifactId>
<version>10.28.0-SNAPSHOT</version>
<packaging>pom</packaging>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.scm.id>git-myapp</project.scm.id>
    <!-- Sonar properties-->
    <sonar.java.source>7</sonar.java.source>
    <sonar.jacoco.itReportPath>${project.basedir}/../target/jacoco-it.exec</sonar.jacoco.itReportPath>
    <sonar.jacoco.reportPath>${project.basedir}/../target/jacoco.exec</sonar.jacoco.reportPath>
    <sonar.language>java</sonar.language>
    <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
    <version.cdi-unit>3.1.5-SNAPSHOT</version.cdi-unit>
</properties>

<repositories>
    <repository>
        <id>ext-release-local</id>
        <url>http://myapp.com:8081/artifactory/ext-release-local</url>
        <releases>
            <enabled>true</enabled>
        </releases>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </repository>
    <repository>
        <id>ext-snapshot-local</id>
        <url>http://myapp.com:8081/artifactory/ext-snapshot-local</url>
        <releases>
            <enabled>false</enabled>
        </releases>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>       
</repositories> 


<scm>
    <url>scm:git:https://git.myapp.com:1443/myuser/myapp.git</url>
    <connection>scm:git:https://git.myapp.com:1443/myuser/myapp.git</connection>
    <tag>myapp-10.28.0</tag>
</scm>

<distributionManagement>
    <repository>
        <id>ext-release-local</id>
        <name>ext-release-local</name>
        <url>http://myapp.com:8081/artifactory/ext-release-local/</url>
    </repository>
    <snapshotRepository>
        <id>ext-snapshot-local</id>
        <name>ext-snapshot-local</name>
        <url>http://myapp.com:8081/artifactory/ext-snapshot-local/</url>
    </snapshotRepository>
</distributionManagement>


<build>
    <plugins>
        <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>0.7.9</version>
            <executions>
                <execution>
                    <id>agent-for-ut</id>
                    <goals>
                        <goal>prepare-agent</goal>
                    </goals>
                    <configuration>
                        <append>true</append>
                        <destFile>${sonar.jacoco.reportPath}</destFile>
                    </configuration>
                </execution>
                <execution>
                    <id>agent-for-it</id>
                    <goals>
                        <goal>prepare-agent-integration</goal>
                    </goals>
                    <configuration>
                        <append>true</append>
                        <destFile>${sonar.jacoco.itReportPath}</destFile>
                    </configuration>
                </execution>
            </executions>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-release-plugin</artifactId>
            <version>2.5.3</version>
            <executions>
                <execution>
                    <id>default</id>
                    <goals>
                        <goal>perform</goal>
                    </goals>
                    <configuration>
                        <pomFileName>myapp/pom.xml</pomFileName>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

нерабочий pom.xml:

    <?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.1.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.myapp</groupId>
<artifactId>qrcode-api</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>qrcode-api</name>
<description>QRCode Processing API</description>

<properties>
    <java.version>1.8</java.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
    </dependency>

    <dependency>
        <groupId>com.github.detro</groupId>
        <artifactId>ghostdriver</artifactId>
        <version>2.1.0</version>
    </dependency>
</dependencies>

<scm>
    <url>scm:git:https://git.myapp.com:1443/myapp/qrcode-api.git</url>
    <connection>scm:git:https://git.myapp.com:1443/myapp/qrcode-api.git</connection>
    <tag>qrcode-1.0.0</tag>
</scm>

<repositories>
    <repository>
        <id>jitpack.io</id>
        <url>https://jitpack.io</url>
    </repository>
    <repository>
        <id>ext-release-local</id>
        <url>http://myapp.com:8081/artifactory/ext-release-local</url>
        <releases>
            <enabled>true</enabled>
        </releases>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </repository>
    <repository>
        <id>ext-snapshot-local</id>
        <url>http://myapp.com:8081/artifactory/ext-snapshot-local</url>
        <releases>
            <enabled>false</enabled>
        </releases>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>

</repositories>

<distributionManagement>
    <repository>
        <id>ext-release-local</id>
        <name>ext-release-local</name>
        <url>http://myapp.com:8081/artifactory/ext-release-local/</url>
    </repository>
    <snapshotRepository>
        <id>ext-snapshot-local</id>
        <name>ext-snapshot-local</name>
        <url>http://myapp.com:8081/artifactory/ext-snapshot-local/</url>
    </snapshotRepository>
</distributionManagement>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

1 Ответ

0 голосов
/ 17 декабря 2018

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

mvn --batch-mode -Dtag=my-proj-1.2 release:prepare \
             -DreleaseVersion=1.2 \
             -DdevelopmentVersion=2.0-SNAPSHOT

Эти флаги -D важны;они устанавливают версию выпуска (таким образом удаляя -SNAPSHOT из вашей версии) и устанавливают новую версию выпуска.

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