使用 Cloud Build 自动执行 App Engine 部署
此快速入门介绍了在新提交后如何自动将存储在 Cloud Source Repositories 中的应用部署到 App Engine。
准备工作
- 完成
在 Cloud Source Repositories 中创建代码库中的步骤。
完成该快速入门后,您将拥有一个可以部署到 App Engine 的应用
Enable the App Engine Admin, Cloud Build APIs.
授予 App Engine 访问 Cloud Build 服务账号的权限
Cloud Build 使用服务账号来部署代码。此账号的默认权限不允许执行某些操作,例如部署到 App Engine。
您可以向服务账号授予其他 Identity and Access Management (IAM) 角色,从而使该账号能够部署到 App Engine:
在 Google Cloud Console 中,打开 Cloud Build 的“设置”页面:
您将会看到服务账号权限页面:
将 App Engine Admin 角色的状态设置为启用。
部署应用
在终端窗口中,转到包含代码库的目录:
cd hello-world
部署示例应用:
gcloud app deploy app.yaml
验证您的应用是否正在运行:
gcloud app browse
如果您的应用正在运行,则浏览器将显示消息
Hello, World!
。
创建 cloudbuild.yaml 文件
在终端窗口中,转到包含代码库的目录:
cd hello-world
使用文本编辑器创建一个名为
cloudbuild.yaml
的文件,然后粘贴以下配置信息:steps: - name: "gcr.io/cloud-builders/gcloud" args: ["app", "deploy"] timeout: "1600s"
将 cloudbuild.yaml 文件添加到代码库
将
cloudbuild.yaml
添加到代码库:git add .
提交带有说明此操作历史记录的注释的文件:
git commit -m "Add cloudbuild.yaml file"
使用
git push
命令,将本地 Git 代码库的内容添加到 Cloud Source Repositories:git push origin master
创建构建触发器
在 Google Cloud 控制台中,打开 Cloud Build 的触发器页面。
如果您的 Google Cloud 项目未被选择,请点击 选择一个项目,然后点击您的 Google Cloud 项目的名称。
点击创建触发器。
创建触发器 页面打开。
填写以下选项:
- 在名称字段中,输入
app-engine-test
。 - 在事件下,选择推送到分支。
- 在 来源 下,选择
hello-world
作为您的 代码库,选择^master$
作为您的 分支。 - 在配置下,选择 Cloud Build 配置文件(yaml 或 json)。
- 在 Cloud Build 配置文件位置字段中的
/
后面,输入cloudbuild.yaml
。
- 在名称字段中,输入
点击创建以保存您的构建触发器。
向应用推送更改
在终端窗口中,使用文本编辑器通过粘贴以下代码来更新
main.py
文件:#!/usr/bin/env python import webapp2 class MainHandler(webapp2.RequestHandler): def get(self): self.response.write('I update automatically!') app = webapp2.WSGIApplication([ ('/', MainHandler) ], debug=True)
将该文件添加到 Git。
git add .
提交带有说明此操作历史记录的注释的文件:
git commit -m "Update app to demonstrate build triggers"
使用
git push
命令,将本地 Git 代码库的内容添加到 Cloud Source Repositories:git push origin master
查看正在进行的构建
在 Google Cloud 控制台中,打开 Cloud Build 的触发器页面。
如果您的 Google Cloud 项目未被选择,请点击 选择一个项目,然后点击您的 Google Cloud 项目的名称。
点击 历史记录。
此时将会打开一个包含所有构建的列表。列表顶部是一个新条目,表示您将更改推送到 Cloud Source Repositories 以后才开始的构建。构建准备就绪后,对应的构建条目旁边会出现绿色对勾标记。
重新测试您的应用
在终端窗口中,打开您的应用:
gcloud app browse
现在,浏览器将显示消息 I update automatically!
。
清理
为避免因本页中使用的资源导致您的 Google Cloud 账号产生费用,请按照以下步骤操作。
删除构建触发器
在 Google Cloud 控制台中,打开 Cloud Build 的触发器页面。
如果您的 Google Cloud 项目未被选择,请点击 选择一个项目,然后点击您的 Google Cloud 项目的名称。
在您要删除的触发器的同一行上,点击 更多 more_vert,然后点击 删除。
删除代码库
在 Google Cloud 控制台中,打开 Cloud Source Repositories 的所有代码库页面。
将指针放在要删除的代码库上,然后点击 设置 settings。
常规设置 页面打开。
点击 删除此代码库delete。
移除代码库 对话框打开。
输入您要删除的代码库的名称。
点击删除。
后续步骤
- 详细了解 Cloud Build。