美文网首页
循环依赖时单独release api操作文档

循环依赖时单独release api操作文档

作者: 有梦想的虫子_2018 | 来源:发表于2022-03-26 21:45 被阅读0次

一、修改API的pom文件
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>com.suzao.center.user-center</groupId>
        <artifactId>user-center</artifactId>
        <version>1.0.0-SNAPSHOT</version>
    </parent>-->
    <!--自己的项目-->
    <groupId>com.suzao.center.user-center</groupId>
    <artifactId>user-center-api</artifactId>
    <name>user-center-api-${project.version}</name>
    <version>1.0.2-SNAPSHOT</version>


    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <springboot.version>2.3.6.RELEASE</springboot.version>
        <!-- juliye -->
        <suzao-commons.version>1.0.4</suzao-commons.version>
        <suzao-utils.version>1.0.1</suzao-utils.version>
        <suzao-validator.version>1.1.0</suzao-validator.version>
        <!-- plugin version -->
        <maven-surefire-plugin.version>2.22.2</maven-surefire-plugin.version>
        <maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
        <maven-resources-plugin.version>3.2.0</maven-resources-plugin.version>
        <maven-javadoc-plugin.version>3.2.0</maven-javadoc-plugin.version>
        <maven-release-plugin.version>2.5.3</maven-release-plugin.version>
        <maven-deploy-plugin.version>2.8.2</maven-deploy-plugin.version>
        <maven-source-plugin.version>3.2.1</maven-source-plugin.version>
        <maven-enforcer-plugin.version>1.4.1</maven-enforcer-plugin.version>
        <wagon-ssh.version>3.4.2</wagon-ssh.version>
        <msgpack.version>0.6.11</msgpack.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>com.suzao.utils</groupId>
            <artifactId>suzao-utils</artifactId>
            <version>${suzao-utils.version}</version>
        </dependency>
        <dependency>
            <groupId>com.suzao.component</groupId>
            <artifactId>validator-component</artifactId>
            <version>${suzao-validator.version}</version>
            <exclusions>
                <exclusion>
                        <groupId>org.glassfish.web</groupId>
                        <artifactId>el-impl</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>
    <distributionManagement>
        <repository>
            <id>releases</id>
            <name>Internal Releases</name>
            <url>https://nexus.suzao.com/repository/maven-releases</url>
        </repository>
        <snapshotRepository>
            <id>snapshots</id>
            <name>Internal Snapshots</name>
            <url>https://nexus.suzao.com/repository/maven-snapshots</url>
        </snapshotRepository>
    </distributionManagement>

    <!--自己的项目-->
    <scm>
        <connection>scm:git:git@gitlab.suzao.com:server/user-center.git</connection>
        <developerConnection>scm:git:git@gitlab.suzao.com:server/user-center.git</developerConnection>
        <tag>HEAD</tag>
    </scm>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>${springboot.version}</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>${maven-surefire-plugin.version}</version>
                <configuration>
                    <testFailureIgnore>true</testFailureIgnore>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>${maven-compiler-plugin.version}</version>
                <configuration>
                    <target>${java.version}</target>
                    <source>${java.version}</source>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>${maven-resources-plugin.version}</version>
                <configuration>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>${maven-javadoc-plugin.version}</version>
                <configuration>
                    <!--                    <aggregate>true</aggregate>-->
                    <encoding>UTF-8</encoding>
                    <charset>UTF-8</charset>
                    <docencoding>UTF-8</docencoding>
                </configuration>
                <executions>
                    <execution>
                        <id>attach-javadocs</id>
                        <phase>package</phase>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                        <configuration>
                            <doclint>none</doclint>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-release-plugin</artifactId>
                <version>${maven-release-plugin.version}</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
                <version>${maven-deploy-plugin.version}</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>${maven-source-plugin.version}</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
                <version>${maven-enforcer-plugin.version}</version>
                <executions>
                    <execution>
                        <id>enforce-versions</id>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                        <configuration>
                            <rules>
                                <requireMavenVersion>
                                    <version>3.3</version>
                                </requireMavenVersion>
                                <requireJavaVersion>
                                    <version>${java.version}</version>
                                </requireJavaVersion>
                            </rules>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        <extensions>
            <extension>
                <groupId>org.apache.maven.wagon</groupId>
                <artifactId>wagon-ssh</artifactId>
                <version>${wagon-ssh.version}</version>
            </extension>
        </extensions>
    </build>
</project>

替换的位置:

image.png
image.png

二、配置完成后执行下面指令

  • mvn release:prepare
  • mvn release:rollback(不回滚不需要执行)
  • mvn release:perform

prepare命令做了哪些操作:

  1. 检查项目是否有未提交的代码。
  2. 检查项目是否有快照版本依赖。
  3. 根据用户的输入将快照版本升级为发布版。
  4. 将POM中的SCM信息更新为标签地址。
  5. 基于修改后的POM执行Maven构建。
  6. 提交POM变更。
  7. 基于用户输入为代码打标签。
  8. 将代码从发布版升级为新的快照版。
  9. 提交POM变更。

perform命令做了哪些操作:

  1. 生成doc文档
  2. 删除release.properties等发布过程文件
  3. 迁出release:prepare生成的标签中的源代码,并在此基础上执行mvn deploy命令打包并部署构件至仓库。

相关文章

网友评论

      本文标题:循环依赖时单独release api操作文档

      本文链接:https://www.haomeiwen.com/subject/emasjrtx.html