Useful for editing existing buildsteps
cr_buildstep_edit(x, ...)A buildstep created previously
Arguments passed on to cr_buildstep
namename of docker image to call appended to prefix
argscharacter vector of arguments
prefixprefixed to name - set to "" to suppress. Will be suppressed if name starts with gcr.io or *-docker.pkg.dev
entrypointchange the entrypoint for the docker container
dirThe directory to use, relative to /workspace e.g. /workspace/deploy/
idOptional id for the step
envEnvironment variables for this step. A character vector for each assignment
volumesvolumes to connect and write to
waitForWhether to wait for previous buildsteps to complete before running. Default it will wait for previous step.
secretEnvA list of secrets stored in Secret Manager referred to in args via a $$var
Other Cloud Buildsteps:
cr_buildstep_bash(),
cr_buildstep_decrypt(),
cr_buildstep_df(),
cr_buildstep_docker(),
cr_buildstep_extract(),
cr_buildstep_gcloud(),
cr_buildstep_gitsetup(),
cr_buildstep_mailgun(),
cr_buildstep_nginx_setup(),
cr_buildstep_packagetests(),
cr_buildstep_pkgdown(),
cr_buildstep_run(),
cr_buildstep_r(),
cr_buildstep_secret(),
cr_buildstep_slack(),
cr_buildstep_targets(),
cr_buildstep()
package_build <- system.file("cloudbuild/cloudbuild.yaml",
package = "googleCloudRunner"
)
build <- cr_build_make(package_build)
build
#> ==CloudBuildObject==
#> steps:
#> - name: gcr.io/cloud-builders/docker
#> id: Docker Version
#> args: version
#> - name: alpine
#> id: Hello Cloud Build
#> args:
#> - echo
#> - Hello Cloud Build
#> - name: rocker/r-base
#> id: Hello R
#> args:
#> - Rscript
#> - -e
#> - paste0('1 + 1 = ', 1+1)
cr_buildstep_extract(build, step = 1)
#> [[1]]
#> ==cloudRunnerBuildStep==
#> name: gcr.io/cloud-builders/docker
#> args:
#> - version
#> id: Docker Version
#>
cr_buildstep_extract(build, step = 2)
#> [[1]]
#> ==cloudRunnerBuildStep==
#> name: alpine
#> args:
#> - echo
#> - Hello Cloud Build
#> id: Hello Cloud Build
#>
edit_me <- cr_buildstep_extract(build, step = 2)
cr_buildstep_edit(edit_me, name = "blah")
#> [[1]]
#> ==cloudRunnerBuildStep==
#> name: gcr.io/cloud-builders/blah
#> args:
#> - echo
#> - Hello Cloud Build
#> id: Hello Cloud Build
#>
cr_buildstep_edit(edit_me, name = "gcr.io/blah")
#> [[1]]
#> ==cloudRunnerBuildStep==
#> name: gcr.io/blah
#> args:
#> - echo
#> - Hello Cloud Build
#> id: Hello Cloud Build
#>
cr_buildstep_edit(edit_me, args = c("blah1", "blah2"), dir = "meh")
#> [[1]]
#> ==cloudRunnerBuildStep==
#> name: gcr.io/cloud-builders/alpine
#> args:
#> - blah1
#> - blah2
#> id: Hello Cloud Build
#> dir: meh
#>
# to edit multiple buildsteps at once
bs <- c(cr_buildstep_extract(build, 1), cr_buildstep_extract(build, 2))
lapply(bs, function(x) cr_buildstep_edit(list(x), dir = "blah")[[1]])
#> [[1]]
#> ==cloudRunnerBuildStep==
#> name: gcr.io/cloud-builders/docker
#> args:
#> - version
#> id: Docker Version
#> dir: blah
#>
#> [[2]]
#> ==cloudRunnerBuildStep==
#> name: gcr.io/cloud-builders/alpine
#> args:
#> - echo
#> - Hello Cloud Build
#> id: Hello Cloud Build
#> dir: blah
#>