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.
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
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.