使用 Cloud Build 自动构建
本页面介绍了如何使用 Cloud Build 自动执行构建。
Cloud Build 使用构建触发器来启用 CI/CD 自动化。您可以配置触发器以侦听传入的事件(例如,将新提交推送到代码库或者启动拉取请求时),然后在收到新事件时自动调用构建。
您将创建一个触发器,并配置相关触发器,以保证每次将更改推送到 GitHub 代码库时,系统都会调用构建。
如需遵循有关此任务的分步指导,请直接在 Cloud Shell Editor 中点击操作演示:
准备工作
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
如果您还没有账号,请在 GitHub 上创建一个。
如果您在 GitHub 上设置了双重验证,请创建一个个人访问令牌,以代替通过命令行使用的 GitHub 密码。
创建示例 GitHub 代码库分支并克隆代码库
您需要一些用于构建的示例源代码。在本部分中,您将把 Go 中包含 Hello World 示例的一个现有源代码库克隆到自己的 GitHub 用户账号中。如果您还没有账号,请在 GitHub 上创建一个。
如果您在 GitHub 上设置了双重验证,请创建一个个人访问令牌,以代替通过命令行使用的 GitHub 密码。
为
cloud-build-samples
代码库创建一个到您自己的 GitHub 账号的分支:转到 Cloud Build cloud-build-samples 代码库。
点击页面右上角的 Fork(创建分支)图标。
点击要将代码库分支到的 GitHub 用户账号。
您将自动重定向到包含
cloud-build-samples
代码库的分支版本的页面。
在本地环境中打开终端。
通过运行以下命令克隆分支代码库,其中 GITHUB_USERNAME 是您的 GitHub 账号的用户名:
git clone https://github.com/GITHUB_USERNAME/cloud-build-samples.git
将 Cloud Build 连接到您的代码库
如需使用触发器在 GitHub 上构建源代码,您必须先将 Cloud Build 连接到您的 GitHub 代码库。在本部分中,您需要将cloud-build-samples
代码库连接到 Cloud Build。
在 Google Cloud 控制台导航菜单中,依次点击 Cloud Build > 触发器。
选择您的项目,然后点击打开。
点击
连接代码库 。在选择来源下选择
GitHub(Cloud Build GitHub 应用) 。点击
继续 。验证您的 GitHub 账号。
在选择代码库部分中,选择您的
GitHub 账号 的用户名。 如果您的用户名未出现在列表中:在 GitHub 账号列表中,点击 +添加。
系统会显示一个弹出式窗口,提示您安装 Cloud Build GitHub 应用。
点击您的 GitHub 用户名。
点击 Only certain repositories(仅特定代码库),这会让系统在特定代码库上安装 Cloud Build GitHub 应用。
在下拉菜单中,选择 GITHUB_USERNAME/cloud-build-samples,其中 GITHUB_USERNAME 是您的 GitHub 账号的用户名。
点击安装。
系统可能会要求您先输入与您的 GitHub 账号关联的密码,然后再继续操作。
安装 Cloud Build GitHub 应用后,您现在可以在 GitHub 账号字段的下拉菜单中看到您的用户名。选择您的用户名。
在
代码库 下,选择 GITHUB_USERNAME/cloud-build-samples 作为您的代码库。点击对勾标记,同意有关触发器连接的条款及条件。
点击
连接 。点击
完成 。
创建触发器
在 Google Cloud 控制台中打开触发器页面:
从页面顶部的项目选择器下拉菜单中选择您的项目。
点击打开。
在触发器页面中,点击
创建触发器 。在创建触发器页面上,输入以下设置:
名称:输入
hello-world-trigger
作为触发器的名称。事件:选择
推送到分支 作为代码库事件,以调用您的触发器。来源 :选择cloud-build-samples
代码库作为来源,其中包含您的源代码和 build 配置文件。build 配置:选择
Cloud Build 配置文件 作为您的 build 配置文件。Cloud Build 配置文件位置 :将您的 Cloud Build 配置文件的路径指定为quickstart-automate/cloudbuild.yaml
。
点击
创建 以保存您的构建触发器。
提交更改
在本部分中,您将提交对于克隆到您自己的 GitHub 账号中的 cloud-build-samples
代码库所做的更改。
在终端中,导航到
quickstart-automate
目录:cd cloud-build-samples/quickstart-automate
打开
main.go
文件并将包含“Hello, world!”的行更新为“Hello, universe!”package main import ( "fmt" ) func main() { fmt.Println("Hello, universe!") }
查看
,这是 Cloud Build 使用的 build 配置文件。使用触发器调用构建时,此文件中的构建步骤会指示 Cloud Build 使用 Docker Hub 中的cloudbuild.yaml
golang
映像构建并运行main.go
文件。steps: - name: golang script: go run quickstart-automate/main.go
返回代码库的根目录:
cd ..
运行以下命令,将您所做的更改提交到 GitHub:
git add quickstart-automate/main.go git commit -m "update text" git push
将代码推送到代码库时,系统可能会提示您输入凭据。如果看到系统提示,请输入您的用户名和密码或身份验证令牌。
您现在已将更改推送到您的代码库。您的推送将触发触发器的自动构建。
查看构建详情
在本部分中,您将查看提交更改后与您调用的构建相关联的构建详情。在 Google Cloud 控制台导航菜单中,依次点击 Cloud Build > 历史记录。
选择您的项目,然后点击打开。
您将看到构建记录页面:
在
构建 列中,点击构建的名称。在构建详情页面上,点击
构建工件 。您将看到如下所示的输出:
如需查看构建日志,请点击
下载图标 并查看下载的文件。
您已成功使用触发器调用了 Cloud Build 构建并查看了构建详情。
清理
为避免因本页中使用的资源导致您的 Google Cloud 账号产生费用,请按照以下步骤操作。
在 Google Cloud 控制台导航菜单中,依次点击 Cloud Build > 触发器。
选择您的项目,然后点击打开。
在
hello-world-trigger
行中,点击该行右端的操作菜单 (垂直省略号)。选择删除。
您现在已经删除了与克隆的代码库关联的触发器。
后续步骤
- 了解如何创建基本构建配置文件。
- 了解如何创建和管理构建触发器。