nexus3私服安裝及配置


1. 安裝Nexus3

  • 禁用防火牆
systemctl stop firewalld
systemctl disable firewalld
  • 拉取nexus鏡像
docker pull sonatype/nexus3
  • 配置外部掛在文件夾
mkdir -p /opt/nexus/data
chmod 777 /opt/nexus/data
  • 安裝
docker run -e INSTALL4J_ADD_VM_PARAMS="-Dstorage.diskCache.diskFreeSpaceLimit=2048" -d -p 8081:8081 --name nexus3 -v /opt/nexus/data/:/nexus-data sonatype/nexus3
  • 查看容器日志
docker logs -f -t nexus3

或者直接上傳nexus壓縮包(nexus-3.37.3-02-unix.tar.gz

  • 上傳並解壓
tar -zxvf nexus-3.37.3-02-unix.tar.gz -C /opt/
  • 創建軟連接
ln -s /opt/nexus-3.37.3-02 /opt/nexus3
  • 配置JVM堆棧信息
cd /opt/nexus3/bin/
vi nexus.vmoptions

-Xms4G
-Xmx4G
-XX:MaxDirectMemorySize=6717m

詳細參加https://help.sonatype.com/repomanager3/installation-and-upgrades/configuring-the-runtime-environment

官方推薦配置如下圖

image-20220329142733374

  • 啟動nexus3
# 前台啟動
bin/nexus run
# 后台啟動
bin/nexus start

首次啟動推薦使用nexus run,nexus需要初始化很多組件。便於觀察。

image-20220329145217434

2. 配置

訪問ip:8081端口進入web ui頁面。查看password密碼

[root@maven ~]# cat /opt/sonatype-work/nexus3/admin.password
c3615332-a263-453a-b5c1-c8dc0f035685

image-20220329145400097

登錄后重置密碼

image-20220329145543338

配置允許任何人訪問

image-20220329145633723

  • 配置中心倉庫為國內源。Repository-->maven-central。

image-20220329145738221

在proxy中設置華為源地址https://mirrors.huaweicloud.com/repository/maven/

image-20220329145927163

在maven-release中配置Dependency policy中,配置允許重推替包。

image-20220329150127832

3. 本地maven配置

在本地maven安裝目錄下的conf--> settings.xml, 添加如下內容

    <server>
      <id>nexus-releases</id>
      <username>admin</username>
      <password>admin@123</password>
    </server>
	<server>
      <id>nexus-snapshots</id>
      <username>admin</username>
      <password>admin@123</password>
  </server>
  <mirror>
			<!--該鏡像的唯一標識符。id用來區分不同的mirror元素。 -->
			<id>maven-public</id>
			<!--鏡像名稱 -->
			<name>maven-public</name>
			<!--*指的是訪問任何倉庫都使用我們的私服-->
			<mirrorOf>*</mirrorOf>
			<!--該鏡像的URL。構建系統會優先考慮使用該URL,而非使用默認的服務器URL。 -->
			<url>http://192.168.147.101:8081/repository/maven-public/</url>		
 </mirror>
<profile>  
		<id>dev</id>  
		<repositories>  
		 <repository>  
			<id>local-nexus</id>
			<url>http://192.168.147.101:8081/repository/maven-public/</url>  
			<releases>  
			  <enabled>true</enabled>
			</releases>  
			<snapshots>  
			  <enabled>true</enabled>  
			</snapshots>  
		  </repository> 
		</repositories>  
</profile>
<activeProfiles>
    <activeProfile>dev</activeProfile>
 </activeProfiles>

4.maven工程父pom配置

<!--dependencies下面-->
  <distributionManagement>
        <repository>
            <id>nexus-releases</id>
            <name>Nexus Release Repository</name>
            <url>http://192.168.147.101:8081/repository/maven-releases/</url>
        </repository>
        <snapshotRepository>
            <id>nexus-snapshots</id>
            <name>Nexus Snapshot Repository</name>
            <url>http://192.168.147.101:8081/repository/maven-snapshots/</url>
        </snapshotRepository>
  </distributionManagement>

此處 下的id,需要和conf文件下pom文件server標簽中id保持一致。

項目中父工程下的配置

image-20220329150756236

maven安裝包conf目錄下settings.xml中的配置

image-20220329150846604

5. 測試推包

在maven插件中,執行deploy操作。

image-20220329174528873

隨后deploy完成后,可以在nexus中查看上傳的包。

image-20220329174734435

6. 測試引包

刪除電腦本地倉庫中的model包,在新創建的項目中引入私服上的model包。正常引入。

 <dependency>
            <groupId>com.atguigu</groupId>
            <artifactId>model</artifactId>
            <version>1.0</version>
 </dependency>

image-20220329175400775


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM