Nothing
#' Read File from System Environment Variable
#'
#' To create an encoded account_file file use: \code{
#' gsub("\\n", "", jsonlite::base64_enc(serialize(readLines("keyfile.json"), NULL)))
#' }
#'
sysenv_file <- function(name, destination) {
if (file.exists(destination))
return()
value_base64 <- Sys.getenv(name)
if (nchar(value_base64) > 0) {
file_contents <- unserialize(jsonlite::base64_dec(
value_base64
))
writeLines(file_contents, destination)
}
}
cloudml_write_config <- function(destination = "gcloud.yml") {
gcloud = list()
if (nchar(Sys.getenv("GCLOUD_PROJECT")) > 0)
gcloud$project <- Sys.getenv("GCLOUD_PROJECT")
if (nchar(Sys.getenv("GCLOUD_ACCOUNT")) > 0)
gcloud$account <- Sys.getenv("GCLOUD_ACCOUNT")
if (nchar(Sys.getenv("GCLOUD_PROJECT")) > 0)
options(
"cloudml.storage" = paste("gs://", Sys.getenv("GCLOUD_PROJECT"), "/travis", sep = "")
)
yaml::write_yaml(gcloud, destination)
}
cloudml_tests_configured <- function() {
nchar(Sys.getenv("GCLOUD_ACCOUNT_FILE")) > 0
}
if (cloudml_tests_configured()) {
isTravis <- identical(Sys.getenv("TRAVIS"), "true")
isAppVeyor <- identical(tolower(Sys.getenv("APPVEYOR")), "true")
if (isTravis || isAppVeyor) {
gcloud_install(update = FALSE)
}
if (isAppVeyor) {
options(cloudml.snapshot.fallback.ok = TRUE)
}
options(repos = c(CRAN = "http://cran.rstudio.com"))
account_file <- tempfile(fileext = ".json")
sysenv_file("GCLOUD_ACCOUNT_FILE", account_file)
if (!is.null(account_file)) {
gcloud_exec(
"auth",
"activate-service-account",
paste(
"--key-file",
account_file,
sep = "="
),
echo = FALSE
)
}
cloudml_write_config()
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.