start_build_strategy app_info

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