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.
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.
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:
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/