in lib/google/serverless/exec.rb [825:861]
def start_build_strategy app_info
if @product == APP_ENGINE
env_variables = app_info["envVariables"] || {}
beta_settings = app_info["betaSettings"] || {}
cloud_sql_instances = beta_settings["cloud_sql_instances"] || []
container = app_info["deployment"]["container"]
image = container ? container["image"] : image_from_build(app_info)
else
env_variables = {}
app_env = app_info["spec"]["template"]["spec"]["containers"][0]["env"]
app_env&.each { |env| env_variables[env["name"]] = env["value"] }
metadata_annotations = app_info["spec"]["template"]["metadata"]["annotations"]
cloud_sql_instances = metadata_annotations["run.googleapis.com/cloudsql-instances"] || []
image = metadata_annotations["client.knative.dev/user-image"]
end
describe_build_strategy
config = build_config command, image, env_variables, cloud_sql_instances
file = ::Tempfile.new ["cloudbuild_", ".json"]
begin
::JSON.dump config, file
file.flush
execute_command = [
"builds", "submit",
"--project", @project,
"--no-source",
"--config", file.path,
"--timeout", @timeout
]
execute_command.concat ["--gcs-log-dir", @gcs_log_dir] unless @gcs_log_dir.nil?
Exec::Gcloud.execute execute_command
ensure
file.close!
end
end