nexus && minio s3 存储私有镜像

对于新版本的nexus 已经支持s3 存储了(3.12),但是企业内部可能还是需要使用私有部署的
还好我们有minio,具体的介绍就不说了

minio 项目运行

 参考项目:
https://github.com/rongfengliang/mino-thumbor-openresty

尽管里面的功能有点多,但是可以了解下,我们只需要使用minio 功能就可以了

具体的启动

docker-compose build && docker-compose up -d

minio  服务信息

docker-compose logs -f minio

安装nexus

具体的安装比较简单,参考就行

配置nexus s3 存储

  • 登陆选择blob stores 设置

  • 添加 s3 配置

信息使用docker-compose logs minio 获取 region us-east-1 (默认配置)


我的设置

  • 添加s3 (minio) maven proxy 支持

测试maven 集成

  • 配置maven settings 文件
<settings>
  <mirrors>
    <mirror>
    <!--This sends everything else to /public -->
    <id>nexus</id>
    <mirrorOf>*</mirrorOf>
    <url>hhttp://hostip:8081/repository/dalong-maven/</url>
    </mirror>
  </mirrors>
  <profiles>
    <profile>
    <id>nexus</id>
    <!--Enable snapshots for the built in central repo to direct -->
    <!--all requests to nexus via the mirror -->
    <repositories>
        <repository>
        <id>central</id>
        <url>http://central</url>
        <releases><enabled>true</enabled></releases>
        <snapshots><enabled>true</enabled></snapshots>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
        <id>central</id>
        <url>http://central</url>
        <releases><enabled>true</enabled></releases>
        <snapshots><enabled>true</enabled></snapshots>
        </pluginRepository>
    </pluginRepositories>
    </profile>
  </profiles>
  <activeProfiles>
    <!--make the profile active all the time -->
    <activeProfile>nexus</activeProfile>
  </activeProfiles>
</settings>
  • 项目pom.xml
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>nexus-proxy</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>25.1-jre</version>
</dependency>
</dependencies>
</project>
  • 执行&& 下载效果
mvn package



总结

目前来说还是比较方便的,同时minio 可以支持分布式部署,可以做到ha,还是比较简单的,只是有一个兼容问题(上图)

参考资料

https://help.sonatype.com/repomanager3/quick-start-guide---proxying-maven-and-npm
https://github.com/rongfengliang/mino-thumbor-openresty
https://docs.minio.io/docs/distributed-minio-quickstart-guide

原文地址:https://www.cnblogs.com/rongfengliang/p/9094503.html