概要
pypiserver という Python 製のツールを使うと簡単に構築できます
今回は docker で動作させます
またパッケージは過去に紹介した手順で作成したパッケージを使います
環境
- macOS 11.2.3
- docker 20.10.5
- Python 3.8.7
- pypiserver 1.4.2
.htpasswd ファイルの作成
認証は単純なベーシック認証を使います
.htpasswd
ファイルを作成します
htpasswd -c .htpasswd hawksnowlog
パッケージディレクトリの作成
永続化するためのディレクトリを作成します
用途に合わせてコンテナボリュームなどに変更してください
mkdir packages
起動
作成した .htpasswd とパッケージ用のディレクトリをマウントして起動します
docker run -p 8080:8080 -v $(pwd)/packages:/data/packages -v $(pwd)/.htpasswd:/data/.htpasswd pypiserver/pypiserver:latest -P .htpasswd
.pypirc 編集
password に関しては .htpasswd ファイル作成時に入力したパスワードを記載してください
vim ~/.pypirc
[distutils]
index-servers =
local
[local]
repository: http://localhost:8080
username: hawksnowlog
password: xxxxxxxx
動作確認
--repository
オプションで先程記載した [local]
を指定しましょう
python3 -m twine upload --repository local dist/*
http://localhost:8080/simple/ にアクセスするとアップロードしたパッケージがあるのが確認できると思います
インストールする場合は以下のように --index-url
で localhost を指定します
また .htpasswd ファイルに記載したユーザ名とパスワードを含めるようにします
python3 -m pip install --index-url http://hawksnowlog:xxxxxxxx@localhost:8080/simple --no-deps echo-test-hawksnowlog
最後に
若干コンテナのスペックなどを調整しないとレスポンスが遅くなることがあるかもしれません
0 件のコメント:
コメントを投稿