移动神器RAX3000M路由器不刷固件变身家庭云之五(高级应用):设置成maven私服

由于我们项目经常会使用一些自研的公共组件,把这些组件放在一个共同的maven私服,这样大家就可以自动下载这些组件了。

前面文章里,我们设置好了uhttpd和vsftpd两个服务,http服务把管理界面移到隐藏的子目录里了。

现在我们可以把路由变成maven私服,我的方案是,建一个目录(/mnt/usb/sda1/mvn)作为私服存储。开发人员可能通过vsftpd把组件部署到这个目录里,maven可以通过http://xxxx.xxx.xx/mvn 来下载组件。

下面一步步开干:

增加用户mvn,以便上传组件

复制代码
adduser -h /mnt/usb/sda1/mvn -s /bin/false -G ftp mvn

输入再次密码,用户创建好了,可以从ftp登录看看。记得我们在vsftpd设置时,建议大家启用:

chroot_local_user=YES

这样的话,现在mvn登录ftp应该直接被限制在/mnt/usb/sda1/mvn这个目录下面了。

去检查一下这个目录应该已经被自动创建了:

/mnt/usb/sda1/mvn

现在我们要让mvn deploy命令把组件部署到仓库里了

设置maven组件部署

在我们项目的根pom里,添加如下内容:

xml 复制代码
    <distributionManagement>
        <repository>
            <id>xxx-maven-repo-rel</id>
            <name>xxx Release Repo</name>
            <url>ftp://xxx.dynv6.net:8021/</url>
        </repository>
        <snapshotRepository>
            <id>xxx-maven-repo-sn</id>
            <name>xxx Release Repo</name>
            <url>ftp://xxx.dynv6.net:8021/</url>
        </snapshotRepository>
    </distributionManagement>

在用户主目录下的.m2目录下有个settings.xml文件, 加上认证信息

xml 复制代码
  <servers>
    <!-- server
     | Specifies the authentication information to use when connecting to a particular server, identified by
     | a unique name within the system (referred to by the 'id' attribute below).
     |
     | NOTE: You should either specify username/password OR privateKey/passphrase, since these pairings are
     |       used together.
     |
    <server>
      <id>deploymentRepo</id>
      <username>repouser</username>
      <password>repopwd</password>
    </server>
    -->
    <server>
      <id>xxx-maven-repo-rel</id>
      <username>mvn</username>
      <password>password</password>
    </server>
    <server>
      <id>xxx-maven-repo-sn</id>
      <username>mvn</username>
      <password>password</password>
    </server>
  </servers>

好了,现在执行下mvn deploy命令看看是不是能上传组件了?

设置maven下载你的组件

这步就很简单了,在我们项目的根pom里,添加如下内容:

xml 复制代码
    <repositories>
        <repository>
            <id>iisp</id>
            <name>iisp-repo</name>
            <url>http://xxx.dynv6.net:8080/mvn/</url>
        </repository>

注意:3.6以后的版本不支持http了,只支持https。

后续文章会讲到怎么配置https ...

移动神器RAX3000M路由器变身家庭云之一:开通SSH,安装新软件包
移动神器RAX3000M路由器变身家庭云之二:安装vsftpd
移动神器RAX3000M路由器变身家庭云之三:外网访问家庭云

移动神器RAX3000M路由器不刷固件变身家庭云之五(高级应用):设置成maven私服
移动神器RAX3000M路由器变身家庭云之四:开放LuCI管理界面,网站服务
移动神器RAX3000M路由器不刷固件变身家庭云之六(高级应用):设置https

相关推荐
Yuki’11 小时前
网络编程---UDP
c语言·网络·网络协议·udp
鲸屿19511 小时前
python之socket网络编程
开发语言·网络·python
天天年年天天。12 小时前
TCP/IP、HTTP 和 HTTPS简介
网络
a5876912 小时前
消息队列(MQ)初级入门:详解RabbitMQ与Kafka
java·分布式·microsoft·面试·kafka·rabbitmq
千里码aicood12 小时前
【springboot+vue】党员党建活动管理平台(源码+文档+调试+基础修改+答疑)
java·数据库·spring boot
Chan1612 小时前
【智能协同云图库】基于统一接口架构构建多维度分析功能、结合 ECharts 可视化与权限校验实现用户 / 管理员图库统计、通过 SQL 优化与流式处理提升数据
java·spring boot·后端·sql·spring·intellij-idea·echarts
先做个垃圾出来………12 小时前
差分数组(Difference Array)
java·数据结构·算法
想睡hhh12 小时前
网络原理——传输层协议UDP
网络·网络协议·udp
BillKu12 小时前
Java核心概念详解:JVM、JRE、JDK、Java SE、Java EE (Jakarta EE)
java·jvm·jdk·java ee·jre·java se·jakarta ee
lsnm13 小时前
【LINUX网络】IP——网络层
linux·服务器·网络·c++·网络协议·tcp/ip