cloudbuild
Abstract
cloudbuild
is a command line tool for Google Cloud Build.
Still work in progress.
Features
- Alternative for
gcloud builds submit
with some limitations:
- Unsupported options:
--no-source
--async
--no-cache
--disk-size
--machine-type
--timeout
--tag / -t
- Limited options:
--substitutions
- Supports only commas to separate multiple key-value pairs.
--substitution / -s
is provided instead and recommended. It allows be specified multiple times.
- More robust behaviors.
- Create source archives in the same way with
docker
.
- Retries operations.
Usage
Using docker is recommended.
Using service account
$ docker run --rm \
-v $(pwd):/workspace \
-v /path/to/credentials.json:/credentials.json \
-e GOOGLE_APPLICATION_CREDENTIALS=/credentials.json \
ikedam/cloudbuild .
Using user credentials
$ docker run -ti --name gcloud-config google/cloud-sdk:alpine gcloud auth application-default login
$ docker run --rm \
--volumes-from gcloud-config \
-v "$(pwd)":/workspace \
ikedam/cloudbuild .
Diagnose
You can get stack dump with SIGUSR1
signal without terminating the container:
$ docker kill -s USR1 "$(docker ps -q --filter ancestor=ikedam/cloudbuild)"
You can get stack dump and terminate the container with ABRT
signal:
$ docker kill -s ABRT "$(docker ps -q --filter ancestor=ikedam/cloudbuild)"
You cannot get stack dump with HUP
, INT
or TERM
signals (cloudbuild
exit silengly for those signals), but you can have cloudbuild
to print stack dumps also for those signals by passing --always-dump
option.