将应用的容器映像和依赖项存储在 用于部署到 App Engine 的 Artifact Registry。
- 在 Node.js 和 Python 应用中声明 Artifact Registry 中的依赖项。
- 将应用直接部署到 App Engine 标准环境,或者 将其容器化并部署到 App Engine 柔性环境 Cloud Build。
- 将容器映像存储在 Artifact Registry Docker 仓库中,并将其部署到 App Engine 柔性环境。
所需权限
- App Engine 柔性环境
- 如果 App Engine 柔性环境和 Artifact Registry 在同一个项目中, App Engine 默认服务账号具有以下权限: 从代码库中拉取容器
- 如果您还使用 Cloud Build 将应用容器化, 在 Artifact Registry 中授予 Artifact Registry Writer 角色 登录 Cloud Build 服务账号。
- App Engine 标准环境:
- App Engine 标准环境使用 Cloud Build 服务账号 构建和部署应用,包括 Artifact Registry 中存储的依赖项。
部署到 App Engine 柔性环境
您可以将 Artifact Registry 托管的映像部署到 App Engine 使用 Google Cloud CLI
- 为您的应用创建 App Engine 配置文件。
- 构建一个 Docker 映像,并将其推送到代码库。您可以使用 Cloud Build 构建容器并将其推送到代码库。
通过运行以下命令将映像部署到 App Engine:
gcloud app deploy --image-url=LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/IMAGE:TAG
其中:
- LOCATION 是代码库的单区域或多区域位置。
- PROJECT 是包含代码库的项目的 ID。如果您的项目 ID 包含英文冒号 (
:
),请参阅网域级项目。 - REPOSITORY 是存储了映像的代码库的名称。
- IMAGE 是代码库中的映像名称。
- TAG 是您要拉取的映像版本的标记。
例如:
gcloud app deploy --image-url=us-central1-docker.pkg.dev/my-project/my-repo/my-image:1.0
配置对依赖项的访问权限
对于标准环境应用,请参阅 App Engine 标准环境文档,了解 npm 和 Python 配置说明。
如需在使用 Cloud Build 运行的构建中添加依赖项,请参阅 与 Cloud Build 集成。