GCP:在生产环境中发布 Python 包
本指南介绍了如何使用 Google ArtifactRegistry 将共享 Python 代码作为包进行管理。这种方法消除了 Cloud Functions 和服务器之间的代码重复。
第 1 步:构建您的共享代码
为您的共享逻辑创建一个新的 Python 包(例如 common_logic)。
第2步:创建setup.py
在 setup.py 文件中定义你的包配置:
第 3 步:设置 Google Artifact 注册表
- 启用 ArtifactRegistry API:
- 创建Python存储库:
步骤 4:配置身份验证
- 创建服务帐户:
- 授予必要的权限:
- 创建并下载密钥:
第 5 步:构建并上传包
- 安装构建工具:
- 构建包:
- 为 ArtifactRegistry 配置 twine:
- 上传包:
第 6 步:使用包
在云函数中
- 创建requirements.txt文件:
- 在您的云函数中使用该包:
在服务器代码中
- 添加到服务器的requirements.txt:
- 在您的服务器代码中使用它:
第 7 步:CI/CD 集成
- 将服务帐户密钥添加为 GitHub 存储库中的秘密。
- 更新您的 Cloud Build 配置:
步骤8:版本管理
- 更新setup.py中的版本。
- 构建并上传新版本。
- 更新 Cloud Functions 和服务器代码中的requirements.txt。
- 部署两个组件。
最佳实践
- 为您的包使用语义版本控制。
- 在requirements.txt中固定特定版本。
- 在部署之前彻底测试新版本。
- 保留版本更改的更改日志。
- 使用 PROJECT_ID 和 LOCATION 的环境变量。
- 在您的包中包含全面的文档。
常见问题及解决方案
身份验证错误
- 验证服务帐户权限。
- 确保 key.json 已正确编码。
- 检查 .pypirc 配置。
找不到包裹
- 验证存储库 URL 格式。
- 检查包是否上传成功。
- 确保requirements.txt使用正确的URL格式。
版本冲突
- 固定依赖项的特定版本。
- 使用虚拟环境进行测试。
- 明确文档依赖性要求。
以上是GCP 在生产中发布 python 包的详细内容。更多信息请关注PHP中文网其他相关文章!