November 27, 2020
Feature spotlight: Windows builds
Until now Buddy only supported Linux workers. Building .NET applications was only possible through Mono, an open-source implementation of Microsoft's .NET framework. However, this solution, although the only one possible on this type of architecture (excluding .NET Core), was far from perfect, as the build environment was still emulated and not native.
And so it happened: last week we added support for Windows workers (Windows Data Center)! We are super excited about it as it opens Buddy for a completely new ecosystem of developers. It also adds new challenges for our team – as always we are looking forward to you helping us fine-tune the feature so that it meets the high standards of Microsoft developers.
Every build is run on a new virtual machine co-shared with other builds. The output of the build is produced to the pipeline's filesystem, and the VM is killed afterwards.
For example, you can create a pipeline that will build a .NET-based backend with frontend in React.js and deploy the application to the production server via SFTP:
The feature can be found in the build section of Buddy's actions:
Clicking the action will bring up its configuration details. Here you can define the commands that will be run in the context of your repository:
Buddy caches dependencies and artifacts by default. The entire contents of the pipeline filesystem is uploaded to the worker before the build, and downloaded back to the filesystem once its over.
To speed up your builds, you can define what exactly is copied from the filesystem to the worker and back again. For example, you can configure the build to upload only the repository and dependencies, and restrict the downloaded files to artifacts only. This can be done in the Options tab:
Below you will find the list of software installed on the worker.
Microsoft Windows Server Datacenter 10.0.19041 N/A Build 19041 chocolatey 0.10.15 chocolatey-dotnetfx.extension 1.0.1 chocolatey-fastanswers.extension 0.0.2 chocolatey-visualstudio.extension 1.8.1 chocolatey-windowsupdate.extension 1.0.4 DotNet4.5.2 188.8.131.5240902 DotNet4.6 4.6.00081.20150925 DotNet4.6-TargetPack 4.6.00081.20150925 DotNet4.6.1 4.6.01055.20170308 dotnet4.7 4.7.2053.20190226 dotnet4.7.1 4.7.2558.20190226 dotnetfx 184.108.40.20690930 KB2919355 1.0.20160915 KB2919442 1.0.20160915 KB2999226 1.0.20181019 netfx-4.5.1-devpack 4.5.50932 netfx-4.5.2-devpack 4.5.5165101.20180721 netfx-4.6-devpack 4.6.81 netfx-4.6.1-devpack 4.6.01055.00 netfx-4.6.2 220.127.116.1190930 netfx-4.6.2-devpack 4.6.01590.20190930 netfx-4.7-devpack 4.7.2053.0 netfx-4.7.1-devpack 4.7.2558.20190225 netfx-4.7.2-devpack 18.104.22.16890225 netfx-4.8 22.214.171.12490930 netfx-4.8-devpack 126.96.36.19990930 nuget.commandline 5.8.0 visualstudio-installer 2.0.1 visualstudio2019-workload-webbuildtools 1.0.0 visualstudio2019buildtools 188.8.131.52 wsl 1.0.1 linux ubuntu 18.04.2 LTS subsystem
Customer Success Manager