Make the point that we already do so many languages, while it is great to learn another, it could lower the bus factor going with a different language that isn’t used by whole team.
Also allows all devs to participate in build.
Builds with a side of Cake - CodeStock 2016
Builds with a
BUILD TOOLS VS CI SERVERS
• Build runs the same regardless of CI server used. Can easily port your
build from TeamCity to Jenkins.
• Builds run the same locally as they do on the CI server
• Part of source control
• Separation of Concerns --
<Project DefaultTargets="Compile“ xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name = "Compile">
<!-- Run the Visual C# compilation using input files of type CSFile -->
<CSC Sources = "@(CSFile)“ OutputAssembly = "$(appname).exe">
<!-- Set the OutputAssembly attribute of the CSC task to the name of the executable file that is
<Output TaskParameter = "OutputAssembly“ ItemName = "EXEFile" />
<!-- Log the file name of the output file -->
<Message Text="The output file is @(EXEFile)"/>
require 'albacore/tasks/versionizer' require 'albacore/ext/teamcity'
desc 'Perform fast build (warn: doesn't d/l deps)'
build :quick_build do |b|
b.logging = 'detailed'
b.sln = 'src/MyProj.sln'
#r "tools/FAKE/tools/FakeLib.dll" // include Fake lib
Target "Test" (fun _ ->
trace "Testing stuff..."
Target "Deploy" (fun _ ->
trace "Heavy deploy action"
"Test" // define the dependencies
WHAT IS CAKE?
• Cake (C# Make) is a cross platform build automation system with a C#
DSL to do things like compiling code, copy files/folders, running unit
tests, compress files and build NuGet packages.
• Consistent across environments
• Build server agnostic
• Great Plugin System -- Addins
• .NET at your finger tips
• No other runtime dependencies
• Reduced learning curve