tree: 0e0946e27d7e943ecd64015105fd1cf139d22e26 [path history] [tgz]
  1. old/
  2. .gitignore
  3. build.bash
  4. make.bash
  5. rdp.bash
  6. README.md
  7. startup.ps1
  8. telnet.bash
  9. test_buildlet.bash
env/windows/README.md

Windows buildlet images

Windows images are built by creating and configuring VMs in GCP then capturing the image to the GCP Project.

The provisioning happens in two stages:

  • sysprep.ps1: Downloads and unpacks dependencies, disabled unneeded Windows features (eg UAC)
  • startup.ps1: Creates and configures user for unattended login to launch the buildlet

Prerequisite: Access internal network

The scripts assume the internal GCP network is accessible. To do this, create a linux VM in the project and SSH into the machine or use a VPN like sshuttle.

Examples/Tools

Build and test a single base image

Builds a buildlet from the BASE_IMAGE and sets it up with and An image is captured and then a new VM is created from that image and validated with test_buildlet.bash.

export PROJECT_ID=YOUR_GCP_PROJECT
export BASE_IMAGE=windows-server-2016-dc-core-v20170214
export IMAGE_PROJECT=windows-cloud

./build.bash

Build all targets

./make.bash

Build/test golang

instance_name=golang-buildlet-test
external_ip=$(gcloud compute instances describe golang-buildlet-test --project=${PROJECT_ID} --zone=${ZONE} --format="value(networkInterfaces[0].accessConfigs[0].natIP)")
./test_buildlet.bash $external_ip

Troubleshoot via remote access

./rdp.bash <instance_name>
./telnet.bash <instance_name>