Nexus
Nexus 是一个强大的 Maven 仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问
官方下载:https://help.sonatype.com/repomanager3/download/download-archives---repository-manager-3
部署 Nexus
下载、解压、创建用户
1
2
3
4
5
6
7
8[root@nexus src]$useradd -r -s /sbin/nologin nexus # 创建nexus用户
[root@nexus src]$tar zxf nexus-3.29.2-02-unix.tar.gz
[root@nexus src]$mv nexus-3.29.2-02 /usr/local/nexus
[root@nexus src]$mv sonatype-work/ /usr/local/
[root@nexus src]$cd /usr/local/
[root@nexus local]$chown -R nexus:nexus ./nexus/
[root@nexus local]$chown -R nexus:nexus ./sonatype-work/
[root@nexus local]$echo 'nexus - nofile 65536' >> /etc/security/limits.confService 启动文件,官方提供
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18[root@nexus ~]$cat /lib/systemd/system/nexus.service
[Unit]
Description=nexus service
After=network.target
[Service]
Type=forking
LimitNOFILE=65536
ExecStart=/usr/local/nexus/bin/nexus start
ExecStop=/usr/local/nexus/bin/nexus stop
User=nexus
Restart=on-abort
TimeoutSec=600
[Install]
WantedBy=multi-user.target
[root@nexus ~]$systemctl start nexus.service # 需要几分钟时间启动设置向导:
验证默认仓库
- Hosted:本地仓库,通常我们会部署自己的构件到这一类型的仓库,比如公司的第三方库
- Proxy:代理仓库,它们被用来代理远程的公共仓库,如 maven 中央仓库(官方仓库)
- Group:仓库组,用来合并多个 hosted/proxy 仓库,当你的项目希望在多个 repository 使用资源时就不需要多次引用了,只需要引用一个 group 即可
构建私有 yum 仓库
配置仓库的数据目录
仓库配置,以 zabbix 为例
centos 7.x 配置 yum 仓库
1
2
3
4
5
6
7[root@c71 ~]$vim /etc/yum.repos.d/zabbix.repo
[root@c71 ~]$cat /etc/yum.repos.d/zabbix.repo
[zabbix-nexus]
name=zabbix
baseurl=http://10.0.1.103:8081/repository/zabbix-proxy/
enabled=1
gpgcheck=0测试:
下载过的包会缓存下来
数据备份
Nexus 中普通数据信息和元数据是分开存储的,普通数据是保存在 blob 中,而元数据保存在数据库中,所以在备份的时候必须同时进行备份普通数据和元数据,才能在后期恢复数据的时候保证数据的最终完整性
数据量太大,而且不影响用户业务,数据备份没什么意义