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)
}