部署 Nexus
使用Docker,没启动起来,看起来是因为 M1 Mac 的原因,所以自行编译了一次镜像
初始化目录
mkdir pip-server-nexus
cd pip-server-nexus
mkdir data
mkdir nexus
mkdir pypi-packages
touch docker-compose.yml (这个文件的内容见下文)
touch nexus/Dockerfile (以下两个文件从 https://github.com/sonatype/docker-nexus3 下载)
touch nexus/solo.json.erb
docker-compose.yml
内容
version: '3.3'
services:
nexus:
restart: always
build: ./nexus
volumes:
- ./data:/nexus-data:Z
- ./pypi-packages:/pypi-packages
ports:
- "8081:8081"
docker-compose up
启动即可,初次编译加启动耗时3分钟
初次启动,默认管理员账号为admin,密码在 data/ 下文件中
创建 Pypi Blob目录
http://localhost:8081/#admin/repository/blobstores
配置 Pypi 服务
创建私有仓库
创建代理仓库
填写远程索引地址时用 https://pypi.python.org/ , 不要用 https://pypi.python.org/pypi
创建 Group 仓库
建立 group 仓库把代理仓库和私有仓库包含进来
测试使用
pip install --index-url http://localhost:8081/repository/pypi-group/ redis
url使用group仓库的,同时支持私有和开源包,正常安装即可
上传包
修改 ~/.pypirc
[distutils]
index-servers =
nexus-local
# 要选择所建三个仓库中的hosted仓库
[nexus-local]
repository: http://localhost:8081/repository/pypi-hosted/
username: admin
password: 123456
上传
python3 setup.py sdist upload -r nexus-local
查看
http://localhost:8081/service/rest/repository/browse/pypi-hosted/
安装(注意/simple)
pip3 install --upgrade --index-url http://localhost:8081/repository/pypi-group/simple package-pip-demo