利用devpi搭建本地pypi源
背景
訪問外網慢,需要搭建一個本地pypi源。
需求
提供內網開發環境和生產環境pip訪問。只需要提供一些特定包,不需要全量。需要有一定的HA。
方案
有同學已經整理了一些pypi 本地緩存方案。
經過權衡我們選擇devpi。我們需要Pypi代理和本地緩存功能,同時,devpi支持replication 和 failover,HA方面有優勢。
用一主一從兩個機器做devpi server。
master IP: IP1
replica IP: IP2
data路徑:datadir
url: http://pypi.xxx
1,在兩臺機器上安裝devpi-server:
#pip install devpi-server
2,配置master
#devpi-server --host=0.0.0.0 --port=13141 --role=master --serverdir=/$datadir/pypi/ --start
3,配置replica
devpi-server --host=0.0.0.0 --port=13141 --role=replica --master-url=http://$IP1:13141 --serverdir=/$datadir/pypi/ --start
4,配置haproxy,這部分由很多成熟方案。我們用lvs+nginx,將域名指向兩個機器ip+端口,這裏就不詳細介紹了。
測試
#pip install web.py -i http://pypi.xxx/root/pypi/