1
0
Fork 0
mirror of https://github.com/imjasonh/gcloud-help synced 2026-07-10 19:31:55 +00:00
gcloud-help/gcloud/builds/triggers/create/github
2023-03-01 10:23:17 +00:00

260 lines
10 KiB
Text

NAME
gcloud builds triggers create github - create a build trigger for a GitHub
repository
SYNOPSIS
gcloud builds triggers create github
(--trigger-config=PATH | [(--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]) (--repository=REPOSITORY
| [--repo-name=REPO_NAME --repo-owner=REPO_OWNER
: --enterprise-config=ENTERPRISE_CONFIG]) : --description=DESCRIPTION
--ignored-files=[GLOB,...] --include-logs-with-status
--included-files=[GLOB,...] --name=NAME --region=REGION
--require-approval
--service-account=SERVICE_ACCOUNT --substitutions=[KEY=VALUE,...]])
[GCLOUD_WIDE_FLAG ...]
DESCRIPTION
Create a build trigger for a GitHub repository.
EXAMPLES
To create a push trigger with a 1st-gen repository for all branches:
$ gcloud 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 with a 1st-gen repository for master:
$ gcloud 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"
To create a pull request trigger with a 2nd gen repository for master:
$ gcloud builds triggers create github --name="my-trigger" \
--repository=projects/my-project/locations/us-central1/\
connections/my-conn/repositories/my-repo \
--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
--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.
--region=REGION
The region of the Cloud Build Service to use. Must be set to a
supported region name (e.g. us-central1). If unset, builds/region,
which is the default region to use when working with Cloud Build
resources, is used. If builds/region is unset, region is set to
global.
--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 regular expression 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 regular expression 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-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
--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.
This flag argument must be specified if any of the other
arguments in this group are specified.
--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.
Exactly one of these must be specified:
--repository=REPOSITORY
Repository resource (2nd gen) to use, in the format
"projects/*/locations/*/connections/*/repositories/".
1st-gen repository settings.
--repo-name=REPO_NAME
Name of the GitHub Repository (1st gen).
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 (1st gen).
This flag argument must be specified if any of the other
arguments in this group are specified.
--enterprise-config=ENTERPRISE_CONFIG
Resource name of the GitHub Enterprise config that should be
applied to this installation.
For example:
"projects/{$project_id}/locations/{$location_id}/githubEnterpriseConfigs/{$config_id}
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
These variants are also available:
$ gcloud alpha builds triggers create github
$ gcloud beta builds triggers create github