脚本宝典收集整理的这篇文章主要介绍了如何使用Docker搭建pypi私有仓库,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
一、搭建
1、准备htpasswd.txt文件
该文件内容包含上传包至仓库时验证的用户名和密码
2、启动容器
docker run --name pypiserver --restart=always -v /data/pypi/packages:/data/packages -v /root/htpasswd.txt:/data/htpasswd.txt -p 8080:8080 -d pypiserver/pypiserver -P htpasswd.txt packages
#需在宿主机上提前建立好data目录及htpasswd.txt文件
3、设置nginx反向代理
cat /usr/local/nginx/conf/exten/pypi.conf upstream pypi { server 127.0.0.1:8080; } server { listen 80; server_name pypi.local.me; location / { Proxy_pass_header Server; PRoxy_set_header Host $http_host; proxy_redirect off; proxy_set_header X-Real-iP $remote_addr; proxy_set_header X-Scheme $scheme; proxy_pass http://pypi; } }
二、使用
1、建立测试项目
# 建立项目目录 mkdir -p Linode_example/linode_example # 建立SETUP.py cat linode_example/setup.py From setuptools import setup setup( name='linode_example', packages=['linode_example'], #上传到仓库后的目录,如http://pypi.local.me/linode_example description='Hello world Enterprise edITion', version='0.1', # 版本号 url='http://github.COM/example/linode_example', author='Linode', keywords=['pip','linode','example'] ) # 该文件内容为说明性内容,可根据自己的包的情况进行设置 # 建立__init__.py 主程序 cat linode_example/linode_example/__init__.py def hello_word(): print("hello world") # 打包并上传 python3.7 setup.py sdist # 打包,执行完后会在dist目录下有个tar包 t@R_304_2406@ upload --repository-url http://pypi.local.me dist/* # 上传时需要输入用户名和密码:admin/admin123
2、使用上传至仓库的包
pip install -i http://pypi.local.me --trusted-host pypi.local.me linode_example
打包注意事项:
1、所有需要打包的项目在git仓库中的目录结构必须一致,便于jenkinsfile自动化集成;
2、所有需要打包的项目的setup.py文件必须位于项目根目录下;
3、python使用统一版本,每个项目的版本需要固定,便于迭代。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本宝典。
以上是脚本宝典为你收集整理的如何使用Docker搭建pypi私有仓库全部内容,希望文章能够帮你解决如何使用Docker搭建pypi私有仓库所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。