Nexus Repository Manager的应用【转载】

水深无声 2024-02-17 12:39 168阅读 0赞

©著作权归作者所有:来自51CTO博客作者mybabe0312的原创作品,请联系作者获取转载授权,否则将追究法律责任
Nexus Repository Manager的应用
转载地址:https://blog.51cto.com/dengshuangfu/2454961

安装和运行Nexus Repository Manager很简单。您可以将存档文件解压缩到您有完全访问权限的目录中,也可以使用Docker映像安装它。

安装包下载: 添加链接描述
安装参考文档: 添加链接描述

1, 下载安装包
https://help.sonatype.com/repomanager3/download/download-archives—repository-manager-3

wget https://download.sonatype.com/nexus/3/latest-unix.tar.gz

Nexus Repository Manager的应用_Nexus Repository

2, 解压

tar xvzf nexus-3.19.1-01-unix.tar.gz

Nexus Repository Manager的应用_Nexus Repository_02

3, 修改默认的配置文件(etc/nexus-default.properties) 【可选】
Nexus Repository Manager的应用_Nexus Repository_03
这里主要用于修改端口号

4, 修改默认配置(bin/nexus.vmoptions)【可选】
Nexus Repository Manager的应用_Nexus Repository_04
一般情况下是不需要修改的。

5, 修改jdk配置【可选】
可以编辑bin/nexus脚本,找到“INSTALL4J_JAVA_HOME_OVERRIDE”,删除哈希并指定JDK/JRE的位置。
Nexus Repository Manager的应用_Nexus Repository_05
例如:

INSTALL4J_JAVA_HOME_OVERRIDE=/usr/lib/jvm/openjdk-8

6, 启动

./nexus run

使用run会使nexus在当前shell中运行。也可以使用start, stop, restart, force-reload 和status 指令。
Nexus Repository Manager的应用_Nexus Repository_06

7,访问
Nexus Repository Manager的应用_Nexus Repository_07

Nexus Repository Manager的应用_Nexus Repository_08
登录密码在文件/data/sonatype/sonatype-work/nexus3/admin.password中。
Nexus Repository Manager的应用_Nexus Repository_09
Nexus Repository Manager的应用_Nexus Repository_10
Nexus Repository Manager的应用_Nexus Repository_11
Nexus Repository Manager的应用_Nexus Repository_12
默认情况下,启用匿名访问将允许未经身份验证的下载、浏览和搜索存储库内容。可以通过编辑分配给匿名用户的角色来更改未经身份验证用户的权限。

Nexus Repository Manager的应用_Nexus Repository_13

Nexus Repository Manager的应用_Nexus Repository_14

Type列说明:
1) Proxy
默认创建了一个通过HTTPS访问中央仓库( https://repo1.maven.org/maven2/)的代理存储库。为了减少重复下载并提高开发人员和CI服务器的下载速度,还应该将访问的所有其他远程存储库代理为代理存储库。

2) hosted
hosted Maven repository可用于部署自己的组件和第三方组件。默认情况下,创建了两个hosted Maven库,分别是maven-releases与maven-snapshots。一个用于发布版本策略,一个用于快照版本策略。

3) group
存储库组允许您使用一个URL公开多个代理和托管存储库以及其他存储库组的聚合内容以进行工具配置。建议使用存储库组将所有Maven存储库从存储库管理器公开给用户,而无需进一步的客户端配置。

8,仓库的操作

Nexus Repository Manager的应用_Nexus Repository_15

Nexus Repository Manager的应用_Nexus Repository_16

Nexus Repository Manager的应用_Nexus Repository_17

9,Maven中使用
1)编辑Maven的setting.xml文件

<!—配置一个镜像用于替代中央仓库 —> nexus nexus http://192.168.30.161:8081/repository/maven-public/ * nexus admin 123456 realeases admin 123456 snapshots admin 123456

2)编辑项目下的pom.xml文件

  1. <!-- 远程仓库地址 -->
  2. <pluginRepositories>
  3. <pluginRepository>
  4. <id>nexus</id>
  5. <name>Team Nexus Repository</name>
  6. <url>http://192.168.30.161:8081/repository/maven-public/</url>
  7. </pluginRepository>
  8. </pluginRepositories>
  9. <distributionManagement>
  10. <!-- 定义releases库的坐标 -->
  11. <repository>
  12. <id>releases</id>
  13. <name>Nexus Release Repository</name>
  14. <url>http://192.168.30.161:8081/repository/maven-releases/</url>
  15. </repository>
  16. <!-- 定义snapshots库 -->
  17. <snapshotRepository>
  18. <id>snapshots</id>
  19. <name>Nexus Snapshot Repository</name>
  20. <url>http://192.168.30.161:8081/repository/maven-snapshots/</url>
  21. </snapshotRepository>
  22. </distributionManagement>

插件

  1. <plugin>
  2. <artifactId>maven-deploy-plugin</artifactId>
  3. <version>2.7</version>
  4. <configuration>
  5. <!-- 更新元数据 -->
  6. <updateReleaseInfo>true</updateReleaseInfo>
  7. </configuration>
  8. <executions>
  9. <execution>
  10. <id>default-deploy</id>
  11. <phase>deploy</phase>
  12. <goals>
  13. <goal>deploy</goal>
  14. </goals>
  15. <!-- skip默认deploy插件的执行 -->
  16. <configuration>
  17. <skip>true</skip>
  18. </configuration>
  19. </execution>
  20. <execution>
  21. <id>deploy-file</id>
  22. <phase>deploy</phase>
  23. <goals>
  24. <goal>deploy-file</goal>
  25. </goals>
  26. <configuration>
  27. <!-- 开发阶段上传到snapshot仓库,上线阶段上传到release仓库 -->
  28. <repositoryId>${project.distributionManagement.snapshotRepository.id}</repositoryId>
  29. <url>${project.distributionManagement.snapshotRepository.url}</url>
  30. <file>${project.build.directory}/${project.artifactId}-${project.version}.jar</file>
  31. <groupId>${project.groupId}</groupId>
  32. <artifactId>${project.artifactId}</artifactId>
  33. <version>${project.version}</version>
  34. </configuration>
  35. </execution>
  36. </executions>
  37. </plugin>

如此,通过mvm deploy就可以将jar包上传到私服仓库下。

发表评论

表情:
评论列表 (有 0 条评论,168人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Nexus配置Linux Yum Repository

    一、使用场景     在生产环境中,我们不可能所有的服务器都能连接外网更新RPM包,比较理想的环境是:有一台Linux服务器可以连接外网,剩余的服务器通过这台YUM服务