Cloud Build provides a Google Cloud Build GitHub app, which automatically builds your code each time you create a new branch or push code to GitHub. This tutorial explains how you can install and configure the app, and use it to build your code on GitHub.
In this tutorial, you will:
- Prepare a GitHub repo with some source code to build.
- Install and configure the Google Cloud Build GitHub app.
- Make changes to your source code on GitHub and create a pull request for the changes.
- Observe that the Google Cloud Build app builds your code on creating a pull request.
- View the build results on GitHub and the GCP Console.
- Learn about the different ways to configure your builds.
This tutorial uses the following billable components of Cloud Platform:
First 120 build-minutes per day are free; you will be charged for builds consumed above this threshold. For more information see the Pricing page.
If you're building using a Dockerfile and storing the built image in Container Registry, you will be charged for storage and the network egress used by your Docker images. For information see the Container Registry Pricing page.
Before you begin
Preparing a GitHub repository with source files
Dockerfile is the config file for building Docker containers. If you're
using the app for Docker builds, it is sufficient if your repo contains a
Dockerfile. The example in this tutorial is configured with a
cloudbuild.yaml is the config file for Cloud Build. Use a
cloudbuild.yaml in the following scenarios:
If you wish to fine-tune your Docker builds, you can provide a
cloudbuild.yamlin addition to the
Dockerfile. If your repository contains a
cloudbuild.yaml, the Google Cloud Build app will use the
cloudbuild.yamlto configure the builds.
If you wish to use the Google Cloud Build app for non-Docker builds.
To work through the example in this tutorial, you'll need a sample GitHub
repository with some source code to build. Use the following steps to fork a
repository that contains the source files used in this tutorial. The source
files in the repo includes a
helloworld.sh file and
Dockerfile, which you
will use to build a Docker image.
On GitHub, navigate to /GoogleCloudBuild/gcbapp-dockerfile-example.
On the top-right corner of the page, click Fork.
Now you have a copy of the gcbapp-dockerfile-example repo with source files.
Installing the Google Cloud Build app
In this section you'll install the Google Cloud Build app and set up continuous integration for gcbapp-dockerfile-example.
During the installation and set up process you will first be asked to authorize the Google Cloud Build app to connect to Google Cloud Platform. After authorizing, you are redirected to GCP Console where you'll select your GCP project and billing account. You'll then be redirected back to GitHub.
The steps below provide instructions for installing the app only for the gcbapp-dockerfile-example repo; but you can choose to install the app for more or all your repositories.
Go to the GitHub app page for the Google Cloud Build app.
Select your username or organization.
Select Only select repositories and enter gcbapp-dockerfile-example.
The Authorization page is displayed where you are asked to authorize the Google Cloud Build app to connect to Google Cloud Platform.
Click Authorize Google Cloud Build by GoogleCloudBuild.
You are redirected to GCP Console.
Under Create or select a project, select Select an existing project and click Next.
Select your GCP project and click Next.
A dialog box asking for your consent to connect your Google Cloud Build app to Google Cloud Platform is displayed.
Check I consent to Google storing my GitHub App installation information and transferring my content from GitHub to Google in order to provide the connected service. and click Connect.
GCP will associate your GCP project with GitHub and redirect you back to GitHub. The Google Cloud Build app page is displayed.
You've just installed the Google Cloud Build app!
Build using the Google Cloud Build app
The source files in gcbapp-dockerfile-example consist of a simple
helloworld.sh file and a Dockerfile. In this section, you'll make changes to
the code in
helloworld.sh and create a pull request to check in your changes.
The Google Cloud Build app builds your code when you create or modify a branch. Since starting a pull request leads to creating a new branch or modifying an existing branch, your code is built each time you start a new pull request.
Open helloworld.sh in gcbapp-dockerfile-example:
Click on the pencil icon to edit the file.
Add the following line at the end of the file:
echo "The time is $(date)."
Select Create a new branch for this commit and start a pull request. and click Propose file change.
Click Create pull request.
This initiates Cloud Build to build your code.
Go to the Checks tab.
You'll see that Cloud Build has built your changes and you should see that your build has succeeded. You'll also see other build details such as the time it took to build your code, the build ID, etc.
Click View more details on Google Cloud Build.
The Build details page in GCP Console opens where you can see build information such as status, logs, and build steps.
Go to the GitHub tab in your browser and go to the Conversation tab.
Click Merge pull request and then Confirm merge.
That's it! You've verified that your code changes builds correctly and checked in your changes.
Here are some sample repositories that contain code examples that use
cloudbuild.yaml as the configuration file. You can fork the repos and use the
steps described in this tutorial to build the code:
After you've finished the tutorial, you can clean up the resources you created on Google Cloud Platform so you won't be billed for them in the future. The following sections describe how to delete or turn off these resources.
Uninstalling the Google Cloud Build app
Go to the GitHub app page for Google Cloud Build.
Select your username or organization where you installed the app.
Deleting the GitHub repository
On GitHub, navigate to the main page of the repository.
Under your repository name, click Settings.
Under Danger Zone, click Delete this repository.
Type the name of your repository to confirm and then click I understand the consequences, delete this repository.
Deleting the container images
Open the Container Registry page in the Google Cloud Platform Console.
Select your project and click Open.
Select all the images and click Delete.
The images that you created as part of this tutorial are deleted from your project.
Deleting the project
The easiest way to eliminate billing is to delete the project you created for the tutorial.
To delete the project:
- In the GCP Console, go to the Projects page.
- In the project list, select the project you want to delete and click Delete project.
- In the dialog, type the project ID, and then click Shut down to delete the project.
- Try out other Google Cloud Platform features for yourself. Have a look at our tutorials.