func buildSingleArchContainerOnRemote()

in gke-windows-builder/builder/main.go [365:388]


func buildSingleArchContainerOnRemote(
	r *builder.RemoteWindowsServer,
	containerImageName string,
	version string,
	timeout time.Duration,
) error {
	registry := strings.Split(containerImageName, "/")[0]
	if registry == "gcr.io" {
		registry = ""
	}
	buildargs := ""
	for _, arg := range buildArgs {
		buildargs += "--build-arg " + arg + " "
	}
	buildSingleArchContainerScript := fmt.Sprintf(`
	$env:DOCKER_CLI_EXPERIMENTAL = 'enabled'
	gcloud auth --quiet configure-docker %[3]s
	docker build -t %[1]s_%[2]s --build-arg WINDOWS_VERSION=%[2]s %[4]s .
	docker push %[1]s_%[2]s
	`, containerImageName, version, registry, buildargs)

	log.Printf("Start to build single-arch container with commands: %s", buildSingleArchContainerScript)
	return r.RunCommand(winrm.Powershell(buildSingleArchContainerScript), *r.WorkspaceFolder, timeout)
}