一. 聯繫目標
- 搭建maven私服(虛擬機內存最好超過2g, 不然會卡)
- 與私服交互(jar包上傳和拉取)
二. 搭建步驟
- Linux系統中安裝docker和docker-compose
- 查看官方nexus鏡像, 確認鏡像名稱和版本
- 創建docker-compose.yml文件(官方文檔:https://hub.docker.com/r/sonatype/nexus3)
version: '3'
services:
nexus:
image: 'sonatype/nexus3'
restart: always
container_name: nexus
ports:
- '8081:8081'
volumes:
- /usr/local/docker/nexus/data:/nexus-data
注意: volumes中的/usr/local/docker/nexus/data,
data
文件夾要添加寫權限, 要不然啓動容器會報錯
- 使用docker-compose啓動容器
命令:
docker-compose up -d
- 訪問nexus
宿主機IP:8081
- 登錄nexus
參考文檔:
用戶名:
admin
密碼: 在data目錄下的admin.password
文件裏
三. nexus基本操作
1. 修改密碼
2. 實現maven自動化部署
2.1 修改maven的setting文件
<server>
<id>nexus-releases</id>
<username>admin</username>
<password>12345678</password>
</server>
<server>
<id>nexus-snapshots</id>
<username>admin</username>
<password>12345678</password>
</server>
2.2 修改項目pom文件, 添加distributionManagement節點配置
<!--自動化部署配置-->
<distributionManagement>
<repository>
<id>nexus-releases</id>
<name>Nexus Release Repository</name>
<url>http://192.168.153.129:8081/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<name>Nexus Snapshot Repository</name>
<url>http://192.168.153.129:8081/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
url地址獲取:
2.3 使用mvn deploy -Dmaven.test.skip=true命令, 或者idea工具發佈項目
3. 上傳第三方jar包到nexus(前兩步可以省略)
3.1 新建倉庫: maven-3rd
3.2 創建maven-3rd倉庫在public的映射關係
3.3 上傳第三方jar包到maven-3rd倉庫(填寫好GAV信息)
注意: 這一步也可以使用maven的上傳jar包命令來完成.
3.4 本地拉取jar包
pom文件中增加如下配置
<!--添加依賴-->
... ...
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-vod-upload</artifactId>
<version>1.4.3</version>
</dependency>
... ...
<!--maven私服配置-->
<repositories>
<repository>
<id>nexus</id>
<name>Nexus Repository</name>
<url>http://192.168.153.129:8081/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus</id>
<name>Nexus Plugin Repository</name>
<url>http://192.168.153.129:8081/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>