跳转到主要内容

在GCS存储桶中创建Python包存储库的CLI

项目描述

Python package

gcs_pypi 是在 GCS 存储桶中创建 Python 包存储库的 CLI。

入门

安装

使用 pip 安装 gcs_pypi

pip install gcs_pypi

使用方法

GCS 存储桶

  • 创建新的存储桶

IAM(角色 & 服务帐户)

设置具有以下权限的服务帐户

storage.buckets.get
storage.buckets.getIamPolicy
storage.buckets.update
storage.objects.create
storage.objects.delete
storage.objects.get
storage.objects.getIamPolicy
storage.objects.list
storage.objects.setIamPolicy

建议您创建一个自定义角色,该角色可以被服务帐户继承

示例

  • 创建“PYPI”角色

  • 分配权限

storage.buckets.get
storage.buckets.getIamPolicy
storage.buckets.update
storage.objects.create
storage.objects.delete
storage.objects.get
storage.objects.getIamPolicy
storage.objects.list
storage.objects.setIamPolicy
  • 创建服务帐户,例如 pypi

  • 选择上面创建的“PYPI”角色

  • 添加条件以限制对仅该 GCS 存储桶的访问

resource.name == "mybucket"

有关更多信息,请访问 云 IAM 条件

分发包

您现在可以使用 gcspypi 创建 Python 包并将它们上传到您的 GCS 存储桶。要隐藏包供公众访问,您可以使用 --private 选项防止通过 GCS 存储桶直接访问包(它们只能通过您的域或您可以使用 --secret 选项指定一个秘密子目录来访问)

cd /path/to/your-project/
gcspypi --bucket mybucket [--private] [--secret SECRET]

缓存头

为 index.html 设置缓存控制头

$ gsutil setmeta -h "cache-control:public, must-revalidate, proxy-revalidate, max-age=0" gs://[BUCKET]/index.html

安装包

使用 pip 通过将 --extra-index-url 指向您的自定义域名(可选地后跟一个秘密子目录)来安装您的包

pip install your-project --extra-index-url https://pypi.example.com/SECRET/

或者,您可以在 ~/.pip/pip.conf 中配置索引 URL

[global]
extra-index-url = https://pypi.example.com/SECRET/

鸣谢

项目详情


发布历史 发布通知 | RSS 源

下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码分布

gcs_pypi-0.1.66.tar.gz (6.8 kB 查看哈希值)

上传时间 源代码

构建分布

gcs_pypi-0.1.66-py3-none-any.whl (8.0 kB 查看哈希值)

上传时间 Python 3

支持

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误日志StatusPageStatusPage状态页面