首页 >后端开发 >Python教程 >GCP 在生产中发布 python 包

GCP 在生产中发布 python 包

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-20 12:29:13623浏览

GCP publish python package in production

GCP:在生产环境中发布 Python 包

本指南介绍了如何使用 Google ArtifactRegistry 将共享 Python 代码作为包进行管理。这种方法消除了 Cloud Functions 和服务器之间的代码重复。


第 1 步:构建您的共享代码

为您的共享逻辑创建一个新的 Python 包(例如 common_logic)。


第2步:创建setup.py

在 setup.py 文件中定义你的包配置:


第 3 步:设置 Google Artifact 注册表

  1. 启用 ArtifactRegistry API:
  1. 创建Python存储库:

步骤 4:配置身份验证

  1. 创建服务帐户:
  1. 授予必要的权限:
  1. 创建并下载密钥:

第 5 步:构建并上传包

  1. 安装构建工具:
  1. 构建包:
  1. 为 ArtifactRegistry 配置 twine:
  1. 上传包:

第 6 步:使用包

在云函数中

  1. 创建requirements.txt文件:
  1. 在您的云函数中使用该包:

在服务器代码中

  1. 添加到服务器的requirements.txt:
  1. 在您的服务器代码中使用它:

第 7 步:CI/CD 集成

  1. 将服务帐户密钥添加为 GitHub 存储库中的秘密。
  2. 更新您的 Cloud Build 配置:

步骤8:版本管理

  1. 更新setup.py中的版本。
  2. 构建并上传新版本。
  3. 更新 Cloud Functions 和服务器代码中的requirements.txt。
  4. 部署两个组件。

最佳实践

  • 为您的包使用语义版本控制
  • 在requirements.txt中固定特定版本。
  • 在部署之前彻底测试新版本。
  • 保留版本更改的更改日志。
  • 使用 PROJECT_ID 和 LOCATION 的环境变量。
  • 在您的包中包含全面的文档。

常见问题及解决方案

身份验证错误

  • 验证服务帐户权限。
  • 确保 key.json 已正确编码。
  • 检查 .pypirc 配置。

找不到包裹

  • 验证存储库 URL 格式。
  • 检查包是否上传成功。
  • 确保requirements.txt使用正确的URL格式。

版本冲突

  • 固定依赖项的特定版本。
  • 使用虚拟环境进行测试。
  • 明确文档依赖性要求。

以上是GCP 在生产中发布 python 包的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn