Skip to main content

Custom VM Images

WarpBuild allows you to use your own custom VM images in your custom runner configurations while running them on your own cloud. This is useful if you are using a custom VM image that you have built due to a specific need.

💡 Note: The "images" referred to in this section are VM images. This is distinct from the custom container images support.

VM Image requirements​

AMIs​

  1. Linux and Windows based AMIs are currently supported.

Linux​

  1. The Linux distro the image is based on should be using systemd. WarpBuild relies on it to run its agent.
  2. curl and wget should be present in the image.

Windows​

  1. aria2 is used for downloading the necessary artifacts since the default windows method is slow. The image needs to have aria2 present and it should be accessible through the system PATH. Below is sample script which can be used to install aria2.
New-Item -ItemType Directory -Path 'C:\Tools\aria2' -Force
# Use: https://github.com/aria2/aria2/releases/latest to fetch the latest release and replace it
Invoke-WebRequest -Uri 'https://github.com/aria2/aria2/releases/download/release-1.37.0/aria2-1.37.0-win-64bit-build1.zip' -OutFile 'C:\Tools\aria2\aria2.zip'
Expand-Archive -Path 'C:\Tools\aria2\aria2.zip' -DestinationPath 'C:\Tools\aria2' -Force
Remove-Item 'C:\Tools\aria2\aria2.zip' -Force
Move-Item -Path 'C:\Tools\aria2\aria2-1.37.0-win-64bit-build1\*' -Destination 'C:\Tools\aria2' -Force
Remove-Item -Path 'C:\Tools\aria2\aria2-1.37.0-win-64bit-build1' -Recurse -Force
[Environment]::SetEnvironmentVariable('Path', $Env:Path + ';C:\Tools\aria2', 'Machine')

Additional Notes​

Windows​

The runners are run under the runneradmin user, the same user as github's windows runners. If this user is not present, it will be added. If you have user scoped environment variables, you might need to change them to system level or add them to the runneradmin user's environment instead.

Add the image​

  1. Setup a WarpBuild Stack
  2. Add a VM image using the Add Image button on the custom images page. All the images in the region the stack is in will be listed. Select the image you want to use. Add VM Image Add VM Image
  3. Create a custom runner using the image.
  4. Use the custom runner label in your workflows to run the jobs on this container image.

Pricing​

There is no additional cost for using custom VM images.