Clone this repo:

Branches

  1. 8826738 Fix character limit of build_image.py and test_build_image.py by Simon-Lii · 3 years ago main
  2. bbc5a69 Change BB_ENV_EXTRAWHITE to BB_ENV_PASSTHROUGH_ADDITIONS by Simon-Lii · 3 years ago
  3. 4bfedc4 Add git clone, gcloud sdk and builder Dockerfile by Simon-Lii · 3 years ago
  4. b2e1b50 Change file name readme.md to README.md. Add more content to README. by Simon-Lii · 3 years ago
  5. 54db990 Add artifacts_upload step. by Simon-Lii · 3 years ago

openbmc cloudbuild ci

This application provides the scripts and configuration files to Google Cloudbuild, a CI pipeline on Google Cloud Platform that performs builds. GCB's purpose is to build openbmc image releases.

Technologies

Python is the main language used. With Python, it is possible to perform shell scripting whilst leveraging Python's Object Oriented Programming capabilities. This allows for unit tests to be integrated very easily, allowing for better code maintainability.

Different Docker containers are used to perform tasks that require a specific environment. These Docker images are stored on Google Cloud Registry.

Artifacts left by the build are stored on Google Cloud Storage.

This application is configurable through substitution variables (environment variables) on Google Cloudbuild's User Interface.

Instructions

The detailed instructions for this project can be found here

In summary, to perform a build, the user runs a manual trigger. This trigger is setup in advance.

The trigger setups up the following:

  • Connects to this project's repository
  • Sets up the substitution variables
  • Sets the yaml configuration file name

The user can run at most 10 builds at the same time.

The artifacts for the builds are located in Google Cloud Storage in the appropriate bucket setup in advance.

An example GCS url: gs://my-release-bucket/my-machine/my-version/