如何在 Azure 或 AWS 中托管私有 python 包管理器
How to host a private python package manager in Azure or AWS
我在一个由 Python 开发人员组成的小团队中工作,我们的目标是创建一个私有包管理器来存储我们的包。我遇到了 pypicloud and following its tutorial 我已经成功上传和安装存储在 AWS-S3 中的包。太棒了。
但是,私有包管理器在终端中键入 pserve server.ini
在本地启动和托管。然后可以在 http://0.0.0.0:6543/#/
访问包管理器。理想情况下,我希望这个服务器是:
- 托管在云端(可能是 Azure,但 AWS 也可以)
- 向上和 运行 24/7
- 安全。用户必须进行身份验证才能查看包管理器和包。
- 不是托管在操作系统中,而是托管在更高级别的东西(例如 docker 容器或 Azure 函数应用程序?),因为它更容易维护、地理复制等
问题:如何在云中获得一个安全的私人服务器(python 包管理器)并且运行?
我会在 Linux:
上使用 Azure WebApp
- https://docs.microsoft.com/en-us/azure/app-service/containers/app-service-linux-intro
- https://docs.microsoft.com/en-us/azure/app-service/containers/quickstart-custom-docker-image
这大概只是一种简单的部署容器的方式,没有Kubernetes的负担。如果您真的想要一个专用的容器解决方案(有多个协调器),ACS 可能是最好的选择。
对于身份验证部分,pip 支持具有基本身份验证的 htaccess 文件。这允许做类似 extra-index-url = https://login:password@pypi.myserver.com/simple/
的事情。我没有首选教程,但是 google/bing 类似 "pip private repository" 的内容,您可以轻松找到答案。
(完全公开,我在 Azure Python SDK 团队的 MS 工作)
我在一个由 Python 开发人员组成的小团队中工作,我们的目标是创建一个私有包管理器来存储我们的包。我遇到了 pypicloud and following its tutorial 我已经成功上传和安装存储在 AWS-S3 中的包。太棒了。
但是,私有包管理器在终端中键入 pserve server.ini
在本地启动和托管。然后可以在 http://0.0.0.0:6543/#/
访问包管理器。理想情况下,我希望这个服务器是:
- 托管在云端(可能是 Azure,但 AWS 也可以)
- 向上和 运行 24/7
- 安全。用户必须进行身份验证才能查看包管理器和包。
- 不是托管在操作系统中,而是托管在更高级别的东西(例如 docker 容器或 Azure 函数应用程序?),因为它更容易维护、地理复制等
问题:如何在云中获得一个安全的私人服务器(python 包管理器)并且运行?
我会在 Linux:
上使用 Azure WebApp- https://docs.microsoft.com/en-us/azure/app-service/containers/app-service-linux-intro
- https://docs.microsoft.com/en-us/azure/app-service/containers/quickstart-custom-docker-image
这大概只是一种简单的部署容器的方式,没有Kubernetes的负担。如果您真的想要一个专用的容器解决方案(有多个协调器),ACS 可能是最好的选择。
对于身份验证部分,pip 支持具有基本身份验证的 htaccess 文件。这允许做类似 extra-index-url = https://login:password@pypi.myserver.com/simple/
的事情。我没有首选教程,但是 google/bing 类似 "pip private repository" 的内容,您可以轻松找到答案。
(完全公开,我在 Azure Python SDK 团队的 MS 工作)