zoukankan      html  css  js  c++  java
  • 初识 maven 自动化发布

    mvn deploy 配置

    maven settings.xml 文件中添加如下配置,用来在 deploy 项目时跟仓库做认证,其中 <server> 标签中的 id 必须跟 pom.xml 文件中 <distributionManagement> 下仓库的 id 一致:

    <server>
        <id>releases</id>
        <username>admin</username>
        <password>123456</password>
    </server>
    <server>
        <id>snapshots</id>
        <username>admin</username>
        <password>123456</password>
    </server>
    

    项目的 pom.xml 文件中添加如下配置:

    <distributionManagement>
        <!-- 项目 release 版本发布仓库地址 -->
        <repository>
            <id>releases</id>
            <name>Release Repository</name>
            <url>http://localhost:8081/nexus/content/repositories/releases/</url>
        </repository>
        <!-- 项目 snapshot 版本发布仓库地址 -->
        <snapshotRepository>
            <id>snapshots</id>
            <name>Snapshots Repository</name>
            <url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
        </snapshotRepository>
    </distributionManagement>
    

    发布

    配置完成之后执行以下命令就能将项目发布到指定的仓库中:

    mvn clean deploy
    

    mvn release 配置

    maven 提供了发布项目 release 版本的插件,在上面的配置基础上再增加以下配置即可启用:

    <scm>
        <!-- 只读项目地址 -->
        <connection>scm:git:git@gitee.com:example/example.git</connection>
        <!-- 可读写项目地址 -->
        <developerConnection>scm:git:git@gitee.com:example/example.git</developerConnection>
        <!-- 项目查看地址 -->
        <url>http://gitee.com/example/example</url>
        <!-- 指定项目当前所处 tag,HEAD 需要作为默认值 -->
        <tag>HEAD</tag>
    </scm>
    
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-release-plugin</artifactId>
                <version>2.5.3</version>
                <configuration>
                    <!-- 发布 release 版本时提交内容的前缀,主要是为了符合版本管理中的提交规范 -->
                    <scmCommentPrefix>release(all):</scmCommentPrefix>
                    <!-- 发布 release 时 tag 名称的格式定义 -->
                    <tagNameFormat>v@{project.version}</tagNameFormat>
                    <!-- 子模块使用与父模块一致的发布版本和新的 SNAPSHOT 版本 -->
                    <autoVersionSubmodules>true</autoVersionSubmodules>
                    <!-- 标签基础目录 -->
                    <tagBase>http://gitee.com/example/example/tags</tagBase>
                </configuration>
            </plugin>
        </plugins>
    </build>
    

    发布 release

    在项目 pom.xml 文件中添加以上配置之后就可以使用 maven release 插件发布项目了。

    1. 准备发布版本,如果检测到有未提交的代码或者 snapshot 版本的依赖会报错,正常情况下会提示用户输入想要发布的版本号,标签名称以及最新的快照版本

      mvn release:prepare
      
    2. 如果上一步发现有信息填错可以使用 rollback 命令回滚,有一点要注意,git 中的标签不会删除,需要手动删除本地和远程的标签

      mvn release:rollback
      
    3. 如果 prepare 没有问题则执行将刚生成的标签中的代码 deploy 到仓库中

      mvn release:perform
      
  • 相关阅读:
    HDU Ignatius and the Princess III (母函数)
    HDU 1014 Uniform Generator
    HDU 1013 Digital Roots
    HDU u Calculate e
    HDU 1005 Number Sequence 找规律
    Vijos 送给圣诞夜的极光(bfs)
    HDU Sum Problem (一道神坑的水题)
    Vijos CoVH之再破难关(搜索+hash)
    VIjos 晴天小猪历险记之Number (搜索+链表hash)
    Vijos 有根树的同构问题【字符串---最小表示法】
  • 原文地址:https://www.cnblogs.com/java-linux/p/13497549.html
Copyright © 2011-2022 走看看