Add documentation that describes the current Cloud Build status notification to Google Chat, as well as how to update the configuration and the notifier service. |
||
---|---|---|
.. | ||
googlechat.yaml | ||
README.md | ||
update_notifier.sh | ||
upload_config.sh |
About
We have deployed a Cloud Build notifier on Cloud Run that sends build failure notifications to a Google Chat space. This folder contains the configuration and helper scripts.
Details
The instructions for notifier setup can be found on the GCP documentation site. For the initial setup, Cloud Build provides a script that automates a lot of the work.
With the automated procedure, the notifier is deployed as a Cloud Run service
named googlechat-notifier
in a single region of user's choice. The notifier
subscribes to the cloud-builds
Pub/sub topic for build statuses, applies our
custom filter, and sends matching notifications to our Google Chat space.
Our custom configuration for the notifier is in the googlechat.yaml
file. It
defines:
- The build status filter, currently matching for all triggered builds that have failed or timed out. The filter semantics are explained here.
- The secret name of the Chat Webhook token stored in the Secret Manager. This token allows the notifier to send notifications to our Chat space. The webhook token can be managed in the Google Chat client.
The googlechat.yaml
configuration file should be uploaded to the GCS bucket
{PROJECT_ID}-notifiers-config
. The upload_config.sh
script can be used for
uploading. The new configuration will take effect eventually after all currently
running notifier instances shutdown due to inactivity, which is bound to happen
with our workload (Note: this depends on the scale-to-zero policy, which is the
default).
To make sure the new configurations take effect immediately, the
update_notifier.sh
. It deploys a new revision of the notifier and shuts down
old instances.
Note that if the notifier is moved to another region, the full setup must be repeated.