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​
- Linux and Windows based AMIs are currently supported.
Linux​
- The Linux distro the image is based on should be using
systemd
. WarpBuild relies on it to run its agent. curl
andwget
should be present in the image.
Windows​
aria2
is used for downloading the necessary artifacts since the default windows method is slow. The image needs to havearia2
present and it should be accessible through the systemPATH
. 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​
- Setup a WarpBuild Stack
- 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. - Create a custom runner using the image.
- 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.