溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

pypi私有倉庫怎么利用Docker進行搭建

發布時間:2020-11-30 16:15:20 來源:億速云 閱讀:331 作者:Leah 欄目:開發技術

pypi私有倉庫怎么利用Docker進行搭建?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

一、搭建

1、準備htpasswd.txt文件

該文件內容包含上傳包至倉庫時驗證的用戶名和密碼

pip install htpasswd
htpasswd -sc htpasswd.txt <username>

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包
twine 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使用統一版本,每個項目的版本需要固定,便于迭代。

看完上述內容,你們掌握pypi私有倉庫怎么利用Docker進行搭建的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女