在 Artifact Registry 中存储应用的容器映像和依赖项,以便部署到 App Engine。
- 在 Node.js 和 Python 应用的 Artifact Registry 中声明依赖项。
- 将您的应用直接部署到 App Engine 标准环境,或者通过 Cloud Build 将其容器化并部署到 App Engine 柔性环境。
- 将容器映像存储在 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 柔性环境
您可以使用 Google Cloud CLI 将 Artifact Registry 托管的映像部署到 App Engine。
- 为您的应用创建 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 集成。