View source: R/buildtriggers.R
cr_buildtrigger | R Documentation |
Build Triggers are a way to have your builds respond to various events, most commonly a git commit or a pubsub event.
cr_buildtrigger( build, name, trigger, description = paste("cr_buildtrigger: ", Sys.time()), disabled = FALSE, substitutions = NULL, ignoredFiles = NULL, includedFiles = NULL, trigger_tags = NULL, projectId = cr_project_get(), sourceToBuild = NULL, overwrite = FALSE )
build |
The build to trigger created via cr_build_make, or the file location of the cloudbuild.yaml within the trigger source |
name |
User assigned name of the trigger |
trigger |
The trigger source created via cr_buildtrigger_repo or a pubsub trigger made with cr_buildtrigger_pubsub or a webhook trigger made with cr_buildtrigger_webhook |
description |
Human-readable description of this trigger |
disabled |
If true, the trigger will never result in a build |
substitutions |
A named list of Build macro variables |
ignoredFiles |
ignored_files and included_files are file glob matches extended with support for "**". |
includedFiles |
If any of the files altered in the commit pass the ignored_files |
trigger_tags |
Tags for the buildtrigger listing |
projectId |
ID of the project for which to configure automatic builds |
sourceToBuild |
A cr_buildtrigger_repo object (but no regex allowed for branch or tag) This field is currently only used by Webhook, Pub/Sub, Manual, and Cron triggers and is the source of the build will execute upon. |
overwrite |
If TRUE will overwrite an existing trigger with the same name |
Any source specified in the build will be overwritten to use the trigger as a source (GitHub or Cloud Source Repositories)
If you want multiple triggers for a build, then duplicate the build and create another build under a different name but with a different trigger. Its easier to keep track of.
Other BuildTrigger functions:
BuildTrigger()
,
GitHubEventsConfig()
,
cr_buildtrigger_copy()
,
cr_buildtrigger_delete()
,
cr_buildtrigger_edit()
,
cr_buildtrigger_get()
,
cr_buildtrigger_list()
,
cr_buildtrigger_pubsub()
,
cr_buildtrigger_repo()
,
cr_buildtrigger_run()
,
cr_buildtrigger_webhook()
cr_project_set("my-project") cr_bucket_set("my-bucket") cloudbuild <- system.file("cloudbuild/cloudbuild.yaml", package = "googleCloudRunner" ) bb <- cr_build_make(cloudbuild) # repo hosted on GitHub gh_trigger <- cr_buildtrigger_repo("MarkEdmondson1234/googleCloudRunner") # repo mirrored to Cloud Source Repositories cs_trigger <- cr_buildtrigger_repo("github_markedmondson1234_googlecloudrunner", type = "cloud_source" ) ## Not run: # build with in-line build code cr_buildtrigger(bb, name = "bt-github-inline", trigger = gh_trigger) # build with in-line build code using Cloud Source Repository cr_buildtrigger(bb, name = "bt-github-inline", trigger = cs_trigger) # build pointing to cloudbuild.yaml within the GitHub repo cr_buildtrigger("inst/cloudbuild/cloudbuild.yaml", name = "bt-github-file", trigger = gh_trigger ) # build with repo mirror from file cr_buildtrigger("inst/cloudbuild/cloudbuild.yaml", name = "bt-cs-file", trigger = cs_trigger ) ## End(Not run) # creating build triggers that respond to pubsub events ## Not run: # create a pubsub topic either in webUI or via library(googlePubSubR) library(googlePubsubR) pubsub_auth() topics_create("test-topic") ## End(Not run) # create build trigger that will work from pub/subscription pubsub_trigger <- cr_buildtrigger_pubsub("test-topic") pubsub_trigger ## Not run: # create the build trigger with in-line build cr_buildtrigger(bb, name = "pubsub-triggered", trigger = pubsub_trigger) # create scheduler that calls the pub/sub topic cr_schedule("cloud-build-pubsub", "15 5 * * *", pubsubTarget = cr_schedule_pubsub("test-topic") ) ## End(Not run) # create a pubsub trigger that uses github as a source of code to build upon gh <- cr_buildtrigger_repo("MarkEdmondson1234/googleCloudRunner") blist <- cr_build_make(cr_build_yaml(cr_buildstep_r('list.files()'))) ## Not run: cr_buildtrigger(blist, name = "pubsub-triggered-github-source", trigger = pubsub_trigger, sourceToBuild = gh) ## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.