1
0
Fork 0
mirror of https://github.com/imjasonh/gcloud-help synced 2026-07-14 08:55:34 +00:00
gcloud-help/gcloud/alpha/builds/triggers/create/github
2022-08-10 08:48:58 +00:00

229 lines
9.2 KiB
Text

NAME
gcloud alpha builds triggers create github - create a build trigger for a
GitHub repository
SYNOPSIS
gcloud alpha builds triggers create github
(--trigger-config=PATH | [--repo-name=REPO_NAME
--repo-owner=REPO_OWNER (--branch-pattern=REGEX | --tag-pattern=REGEX
| [--pull-request-pattern=REGEX : --comment-control=COMMENT_CONTROL;
default="COMMENTS_ENABLED"]) (--build-config=PATH
| --inline-config=PATH | --dockerfile=DOCKERFILE
--dockerfile-dir=DOCKERFILE_DIR;
default="/" --dockerfile-image=DOCKERFILE_IMAGE)
: --description=DESCRIPTION --ignored-files=[GLOB,...]
--include-logs-with-status --included-files=[GLOB,...] --name=NAME
--require-approval
--service-account=SERVICE_ACCOUNT --substitutions=[KEY=VALUE,...]])
[GCLOUD_WIDE_FLAG ...]
DESCRIPTION
(ALPHA) Create a build trigger for a GitHub repository.
EXAMPLES
To create a push trigger for all branches:
$ gcloud alpha builds triggers create github --name="my-trigger" \
--service-account="projects/my-project/serviceAccounts/my-byosa@\
my-project.iam.gserviceaccount.com" \
--repo-owner="GoogleCloudPlatform" \
--repo-name="cloud-builders" --branch-pattern=".*" \
--build-config="cloudbuild.yaml"
To create a pull request trigger for master:
$ gcloud alpha builds triggers create github --name="my-trigger" \
--service-account="projects/my-project/serviceAccounts/my-byosa@\
my-project.iam.gserviceaccount.com" \
--repo-owner="GoogleCloudPlatform" \
--repo-name="cloud-builders" --pull-request-pattern="^master$" \
--build-config="cloudbuild.yaml"
REQUIRED FLAGS
Exactly one of these must be specified:
--trigger-config=PATH
Path to Build Trigger config file (JSON or YAML format). For more
details, see
https://cloud.google.com/cloud-build/docs/api/reference/rest/v1/projects.triggers#BuildTrigger
Flag based trigger configuration
--repo-name=REPO_NAME
Name of the GitHub Repository.
This flag argument must be specified if any of the other arguments
in this group are specified.
--repo-owner=REPO_OWNER
Owner of the GitHub Repository.
This flag argument must be specified if any of the other arguments
in this group are specified.
--description=DESCRIPTION
Build trigger description.
--ignored-files=[GLOB,...]
Glob filter. Changes only affecting ignored files won't trigger
builds.
--include-logs-with-status
Build logs will be sent back to GitHub as part of the checkrun
result.
--included-files=[GLOB,...]
Glob filter. Changes affecting at least one included file will
trigger builds.
--name=NAME
Build trigger name.
--require-approval
Require manual approval for triggered builds.
--service-account=SERVICE_ACCOUNT
The service account used for all user-controlled operations
including UpdateBuildTrigger, RunBuildTrigger, CreateBuild, and
CancelBuild. If no service account is set, then the standard Cloud
Build service account ([PROJECT_NUM]@system.gserviceaccount.com) is
used instead. Format:
projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}.
--substitutions=[KEY=VALUE,...]
Parameters to be substituted in the build specification.
For example (using some nonsensical substitution keys; all keys
must begin with an underscore):
$ gcloud builds triggers create ... --config config.yaml
--substitutions _FAVORITE_COLOR=blue,_NUM_CANDIES=10
This will result in a build where every occurrence of
${_FAVORITE_COLOR} in certain fields is replaced by "blue", and
similarly for ${_NUM_CANDIES} and "10".
Only the following built-in variables can be specified with the
--substitutions flag: REPO_NAME, BRANCH_NAME, TAG_NAME,
REVISION_ID, COMMIT_SHA, SHORT_SHA.
For more details, see:
https://cloud.google.com/cloud-build/docs/api/build-requests#substitutions
Exactly one of these must be specified:
--branch-pattern=REGEX
A regular expression specifying which git branches to match.
This pattern is used as a regex search for any incoming pushes.
For example, --branch-pattern=foo will match "foo", "foobar", and
"barfoo". Events on a branch that does not match will be ignored.
The syntax of the regular expressions accepted is the syntax
accepted by RE2 and described at
https://github.com/google/re2/wiki/Syntax.
--tag-pattern=REGEX
A regular expression specifying which git tags to match.
This pattern is used as a regex search for any incoming pushes.
For example, --tag-pattern=foo will match "foo", "foobar", and
"barfoo". Events on a tag that does not match will be ignored.
The syntax of the regular expressions accepted is the syntax
accepted by RE2 and described at
https://github.com/google/re2/wiki/Syntax.
Pull Request settings
--pull-request-pattern=REGEX
A regular expression specifying which base git branch to match
for pull request events.
This pattern is used as a regex search for the base branch (the
branch you are trying to merge into) for pull request updates.
For example, --pull-request-pattern=foo will match "foo",
"foobar", and "barfoo".
The syntax of the regular expressions accepted is the syntax
accepted by RE2 and described at
https://github.com/google/re2/wiki/Syntax.
This flag argument must be specified if any of the other
arguments in this group are specified.
--comment-control=COMMENT_CONTROL; default="COMMENTS_ENABLED"
Require a repository collaborator or owner to comment '/gcbrun'
on a pull request before running the build. COMMENT_CONTROL
must be one of:
COMMENTS_DISABLED
Do not require comments on Pull Requests before builds are
triggered.
COMMENTS_ENABLED
Enforce that repository owners or collaborators must
comment on Pull Requests before builds are triggered.
COMMENTS_ENABLED_FOR_EXTERNAL_CONTRIBUTORS_ONLY
Enforce that repository owners or collaborators must
comment on external contributors' Pull Requests before
builds are triggered.
Exactly one of these must be specified:
Build file configuration flags
--build-config=PATH
Path to a YAML or JSON file containing the build configuration
in the repository.
For more details, see:
https://cloud.google.com/cloud-build/docs/build-config
Build configuration file
--inline-config=PATH
Local path to a YAML or JSON file containing a build
configuration.
Dockerfile build configuration flags
--dockerfile=DOCKERFILE
Path of Dockerfile to use for builds in the repository.
If specified, a build config will be generated to run docker
build using the specified file.
The filename is relative to the Dockerfile directory.
--dockerfile-dir=DOCKERFILE_DIR; default="/"
Location of the directory containing the Dockerfile in the
repository.
The directory will also be used as the Docker build context.
--dockerfile-image=DOCKERFILE_IMAGE
Docker image name to build.
If not specified,
gcr.io/PROJECT/github.com/REPO_OWNER/REPO_NAME:$COMMIT_SHA will
be used.
Use a build configuration (cloudbuild.yaml) file for building
multiple images in a single trigger.
GCLOUD WIDE FLAGS
These flags are available to all commands: --access-token-file, --account,
--billing-project, --configuration, --flags-file, --flatten, --format,
--help, --impersonate-service-account, --log-http, --project, --quiet,
--trace-token, --user-output-enabled, --verbosity.
Run $ gcloud help for details.
NOTES
This command is currently in alpha and might change without notice. If this
command fails with API permission errors despite specifying the correct
project, you might be trying to access an API with an invitation-only early
access allowlist. This variant is also available:
$ gcloud beta builds triggers create github