00:文章简介
记录一下nexus这个软件,可以设置yum、apt、等等多个系统的软件仓库。
01:安装nexus
1.1:以docker运行
apt-get -y install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
apt-get -y update
apt-get -y install docker-ce
配置加速
# setting docker
cat >> /etc/docker/daemon.json << EOF
{
"registry-mirrors": ["https://73yi6cz9.mirror.aliyuncs.com"]
}
EOF
systemctl restart docker
安装
mkdir /nexus-data && chown -R 200 /nexus-data
docker run -d -p 8081:8081 --restart=always --name nexus -v /nexus-data:/nexus-data sonatype/nexus3
docker logs -f nexus
# 出现Started Sonatype Nexus OSS 3.37.3-02代表好了
# 查看密码
cat /nexus-data/admin.password
1.2:以服务运行
1.2.1:安装JDK
安装JDK1.8
机器配置需大于4GB
apt install openjdk-8-jdk
1.2.2:安装nexus
https://www.sonatype.com/products/repository-oss-download
cd /usr/local/src
上传文件
tar xf nexus-3.33.0-01-unix.tar.gz
ln -sv /usr/local/src/nexus-3.33.0-01 /usr/local/nexus
cd /usr/local/nexus
./bin/nexus --help
./bin/nexus run
./bin/nexus start
1.2.3:查看密码
访问:http://172.20.253.201:8081/
点击Sign in 会弹出密码文件位置
02:配置web向导
输入新密码
授权匿名下载
不共享数据
03:默认仓库类型
Hosted:本地仓库,一般部署自己公司制作的第三方包
Proxy:代理仓库,用于代理远程的公共仓库,例如aliyun、tuna、华为云镜像站的源
Group:仓库组,用来合并多个hosted/proxy仓库,当你的项目希望在多个repository使用资源时就不需要多次引用了,直接引用一个group的地址即可。
04:创建缓存源
4.1:创建apt源
4.1.1:创建一个Blob存储位置
type: file,
name: apt-tuna
其他默认
4.1.2:配置代理apt仓库
repository-repositories-create repository-apt(proxy)
# 依次设置
name: tuna-apt-proxy
distribution: focal
remote storage: https://mirrors.tuna.tsinghua.edu.cn/ubuntu/
storage: apt-tuna
# 最后点Create repository
4.1.3:客户端配置
# 备份原来的源文件
mv /etc/apt/source.list /etc/apt/source.list.bak
# 创建新的源文件
vim /etc/apt/source.list
deb http://172.20.253.201:8081/repository/tuna-proxy/ focal main restricted universe multiverse
deb http://172.20.253.201:8081/repository/tuna-proxy/ focal-updates main restricted universe multiverse
deb http://172.20.253.201:8081/repository/tuna-proxy/ focal-backports main restricted universe multiverse
deb http://172.20.253.201:8081/repository/tuna-proxy/ focal-security main restricted universe multiverse
# 测试是否可用
apt update
apt install mariadb-server
4.1.4:查看缓存下来的源文件
Browse-Browse-[tuna-proxy]
4.2:配置yum缓存源
配置yum源的方式和apt类似这里只说一下重要部分
创建一个专属Blob存储位置
create repository -> yum proxy
URL 要代理的yum源地址
Blob store 存储位置
4.3:配置epel缓存源
创建一个专属Blob存储位置
create repository -> yum proxy
URL 要代理的epel源地址
Blob store 存储位置
4.4:配置docker-ce缓存源
创建一个专属Blob存储位置
create repository -> yum proxy or apt proxy 这里看自己要代理的是centos还是ubuntu
URL 要代理的docker-ce源地址
Blob store 存储位置
# 安装源
apt-get -y install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
add-apt-repository "deb [arch=amd64] http://ip:8081/repository/aliyun-docker-ce-apt/ $(lsb_release -cs) stable"
apt-get -y update
apt-get -y install docker-ce
4.5:配置pypi缓存源
创建一个专属Blob存储位置
create repository -> pypi proxy
URL 要代理的pypi源地址
Blob store 存储位置
05:备份仓库文件
5.1:查看服务器上的文件
blob数据存放路径(创建时能看见):
cd /usr/local/src/sonatype-work/nexus3/blobs/apt-tuna
root@nexus:/usr/local/src/sonatype-work/nexus3/blobs/apt-tuna# tree -L 1
.
├── content
├── D3A26E43-94EE5731-E30F3B51-EC37EEDF-71DD08E7-deletions.index
├── D3A26E43-94EE5731-E30F3B51-EC37EEDF-71DD08E7-metrics.properties
└── metadata.properties
元数据存放位置:
元数据存放在Nexus的数据库中
备份时必须将blob和元数据一起备份,才能保证后期恢复数据的完整性
5.2:nexus数据备份
5.2.1: 创建备份的blob位置
备份的位置最好是网络存储,避免备份数据丢失
5.2.2:配置blob备份任务
System-Tasks-[create task]
选择Compact blob store
5.2.3:配置元数据备份任务
5.2.4:测试备份
点击一个任务-run
5.2.4:查看备份文件
# tree /nfs/nexus-db/
/nfs/nexus-db/
├── component-2021-08-20-22-35-23-3.33.0-01.bak
├── config-2021-08-20-22-35-23-3.33.0-01.bak
└── security-2021-08-20-22-35-23-3.33.0-01.bak
评论区