blob: da40ece6d89179deb77fd904848f00d642f7487e [file] [log] [blame] [view]
# Windows buildlet images
Windows images are built by creating and configuring VMs in GCP then capturing the image to the GCP Project.
## 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](https://github.com/apenwarr/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](./test_buildlet.bash).
```bash
export PROJECT_ID=YOUR_GCP_PROJECT
export BASE_IMAGE=windows-server-2016-dc-core-v20171010
export IMAGE_PROJECT=windows-cloud
./build.bash
```
### Build all targets
```bash
PROJECT_ID=YOUR_GCP_PROJECT ./make.bash
```
### Build/test golang
```bash
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
```bash
./rdp.bash <instance_name>
./ssh.bash <instance_name>
```