Feature spotlight: Windows builds

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.

How it works

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.

Hint
Do mind, though, that Buddy's pipelines can host both Linux and Windows actions, allowing you to compile code in different environments within one filesystem.

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:

Image loading...

The feature can be found in the build section of Buddy's actions:

Image loading...

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:

Image loading...

Optimizing Windows builds

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:

Image loading...

Windows Worker Manifesto

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 4.5.2.20140902 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 4.8.0.20190930 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 4.6.2.20190930 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 4.7.2.20190225 netfx-4.8 4.8.0.20190930 netfx-4.8-devpack 4.8.0.20190930 nuget.commandline 5.8.0 visualstudio-installer 2.0.1 visualstudio2019-workload-webbuildtools 1.0.0 visualstudio2019buildtools 16.8.0.0 wsl 1.0.1 linux ubuntu 18.04.2 LTS subsystem

What's next

Success
For now, Windows workers are available on cloud instances only. We are currently working on the on-premises version. If you'd like to help us with the tests, please drop a line to support@buddy.works or contact us via the live-chat.
Hint
We are also finishing works on iOS builds, a feature many of you have been asking. Let us know if you'd like to give them a test ride when the beta rolls out!
Jarek Dylewski

Jarek Dylewski

Customer Support

A journalist and an SEO specialist trying to find himself in the unforgiving world of coders. Gamer, a non-fiction literature fan and obsessive carnivore. Jarek uses his talents to convert the programming lingo into a cohesive and approachable narration.

Nov 27th 2020
Share