• maven集成nexus伺服服务实现项目快速自动化构建与发布


    前言

    在前面的博客centos7案例实战——Nexus3伺服仓库服务器搭建中已经详细讲解了如何在本地搭建自己的maven伺服仓库nexus,本节内容是关于如何在本地使用maven集成nexus伺服服务从而实现项目快速自动化构建与发布。

    正文

    • 修改本地maven配置文件settings.xml,加入nexus配置
    1. "1.0" encoding="UTF-8"?>
    2. <settings xmlns="http://maven.apache.org/SETTINGS/1.2.0"
    3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    4. xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 https://maven.apache.org/xsd/settings-1.2.0.xsd">
    5. <localRepository>E:\maven_repolocalRepository>
    6. <servers>
    7. <server>
    8. <id>releasesid>
    9. <username>adminusername>
    10. <password>adminpassword>
    11. server>
    12. <server>
    13. <id>snapshotsid>
    14. <username>adminusername>
    15. <password>adminpassword>
    16. server>
    17. servers>
    18. <mirrors>
    19. <mirror>
    20. <id>publicid>
    21. <name>publicname>
    22. <mirrorOf>*mirrorOf>
    23. <url>http://192.168.110.42:8081/repository/maven-public/url>
    24. mirror>
    25. <mirror>
    26. <id>releasesid>
    27. <name>releasesname>
    28. <mirrorOf>releasesmirrorOf>
    29. <url>http://192.168.110.42:8081/repository/maven-releases/url>
    30. mirror>
    31. <mirror>
    32. <id>snapshotsid>
    33. <name>snapshotsname>
    34. <mirrorOf>snapshotsmirrorOf>
    35. <url>http://192.168.110.42:8081/repository/maven-snapshots/url>
    36. mirror>
    37. mirrors>
    38. <profiles>
    39. <profile>
    40. <id>htid>
    41. <activation>
    42. <activeByDefault>trueactiveByDefault>
    43. <jdk>1.8jdk>
    44. activation>
    45. <properties>
    46. <maven.compiler.source>1.8maven.compiler.source>
    47. <maven.compiler.target>1.8maven.compiler.target>
    48. <maven.compiler.compilerVersion>1.8maven.compiler.compilerVersion>
    49. <encoding>UTF-8encoding>
    50. properties>
    51. <repositories>
    52. <repository>
    53. <id>htid>
    54. <name>ht nexus Repositoryname>
    55. <url>http://192.168.110.42:8081/repository/maven-public/url>
    56. <layout>defaultlayout>
    57. <snapshots>
    58. <enabled>trueenabled>
    59. snapshots>
    60. <releases>
    61. <enabled>trueenabled>
    62. releases>
    63. repository>
    64. repositories>
    65. <pluginRepositories>
    66. <pluginRepository>
    67. <id>htid>
    68. <name>ht nexus plugin Repositoryname>
    69. <url>http://192.168.110.42:8081/repository/maven-public/url>
    70. <layout>defaultlayout>
    71. <snapshots>
    72. <enabled>trueenabled>
    73. snapshots>
    74. <releases>
    75. <enabled>trueenabled>
    76. releases>
    77. pluginRepository>
    78. pluginRepositories>
    79. profile>
    80. profiles>
    81. <activeProfiles>
    82. <activeProfile>htactiveProfile>
    83. activeProfiles>
    84. settings>

    • idea集成maven配置,使用配置伺服环境的maven

    • 本地maven项目直接使用伺服仓库地址获取项目依赖包,增加此处配置会优先使用此处配置获取项目依赖包 
    1. <repositories>
    2. <repository>
    3. <id>publicid>
    4. <name>publicname>
    5. <url>http://192.168.110.42:8081/repository/maven-public/url>
    6. <snapshots>
    7. <enabled>trueenabled>
    8. snapshots>
    9. <releases>
    10. <enabled>trueenabled>
    11. releases>
    12. repository>
    13. repositories>

    • 本地项目配置伺服地址,实现本地项目发布到伺服仓库,供第三方使用

    ps:此处配置的伺服仓库id要与maven配置中settings.xml的serverid一致,保证能通伺服仓库的授权验证

    1. <distributionManagement>
    2. <repository>
    3. <id>releasesid>
    4. <name>releasesname>
    5. <url>http://192.168.110.42:8081/repository/maven-releases/url>
    6. repository>
    7. <snapshotRepository>
    8. <id>snapshotsid>
    9. <name>snapshotsname>
    10. <url>http://192.168.110.42:8081/repository/maven-snapshots/url>
    11. snapshotRepository>
    12. distributionManagement>

    • 使用idea发布本地maven项目到nexus伺服仓库

    •  查看伺服仓库是否有本地打包发布后的项目工程文件

    PS: pom版本号包含SNAPSHOT,例如0.0.1-SNAPSHOT,会将包打包到snapshots仓库,并且每次都会生成一个新的包,如果版本号不包含SNAPSHOT,则会打包到releases仓库,只会有一个包。​​​​​​​​​​​​​​

    结语

    本节内容到这里就结束了,我们下期见。。。

  • 相关阅读:
    java中的Properties配置文件操作[61]
    自动化运维机器人(RPA)在银行IT运维领域应用场景分析
    Nwafu-OJ-1485 Problem o C语言实习题八——单链表结点的阶乘和
    OnlyOffice documentType类型值
    电视盒子,机顶盒,SIP Web视频通话,视频会议,方案分析
    【机器学习】准确率、精确率、召回率、误报率、漏报率概念及公式
    PaadleInference源码编译操作流程
    数据库小记-mysql-DDL、DML、DQL
    windows10 vs2019 版本:cmake将 opencv_contrib-4.5.5 扩展模块编译添加到 opencv-4.5.5 正式版中
    解决nodejs报错:TypeError: require(...).sayHi is not a function
  • 原文地址:https://blog.csdn.net/yprufeng/article/details/126745027