docker系列學習(五)----maven私服Nexus搭建

一. 聯繫目標

  1. 搭建maven私服(虛擬機內存最好超過2g, 不然會卡)
  2. 與私服交互(jar包上傳和拉取)

二. 搭建步驟

  1. Linux系統中安裝docker和docker-compose
  2. 查看官方nexus鏡像, 確認鏡像名稱和版本
  3. 創建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文件夾要添加寫權限, 要不然啓動容器會報錯

  1. 使用docker-compose啓動容器

命令: docker-compose up -d

  1. 訪問nexus

宿主機IP:8081

  1. 登錄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>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章