Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
Builds with a
side of
Jamie Phillips
Web: http://phillipsj.net
Twitter: @phillipsj73
Github: phillipsj
BUILD TOOLS VS CI SERVERS
• Build runs the same regardless of CI server used. Can easily port your
build from TeamCity to ...
MSBUILD
<Project DefaultTargets="Compile“ xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name = "Com...
ALBACORE
require 'albacore'
require 'albacore/tasks/versionizer' require 'albacore/ext/teamcity'
Albacore::Tasks::Versioni...
FAKE
#r "tools/FAKE/tools/FakeLib.dll" // include Fake lib
open Fake
Target "Test" (fun _ ->
trace "Testing stuff..."
)
Ta...
CAKE
var target = Argument("target", "Default");
Task("Default")
.Does(() =>
{
Information("Hello World!");
});
RunTarget(...
WHAT IS CAKE?
• Cake (C# Make) is a cross platform build automation system with a C#
DSL to do things like compiling code,...
WHY CAKE?
• C#
• Consistent across environments
• Build server agnostic
• Great Plugin System -- Addins
• .NET at your fin...
TOOLS
Chocolatey GitVersionMSTest NSIS NuGet
DNUDotCoverMSBuild Fixie
GitReleaseNotesGitTools
NUnit ILMerge
Octopus Deploy...
SOMETHING MISSING?
HOW DO YOU US IT?
• Web Apps
• Desktop Apps
• Libraries
• Electron Apps
EXAMPLES
SOME OF OUR PLUGINS
• Cake.XdtTransform
• Cake.Orchard
• Cake.Squirrel
• Cake.AzureStorage
QUESTIONS
Builds with a side of Cake - CodeStock 2016
Nächste SlideShare
Wird geladen in …5
×

Builds with a side of Cake - CodeStock 2016

723 Aufrufe

Veröffentlicht am

On Saturday July 16th I presented a talk at CodeStock 2016 called "Builds with a side of Cake", referencing the cake build tool. http://cakebuild.net/

Veröffentlicht in: Software
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Builds with a side of Cake - CodeStock 2016

  1. 1. Builds with a side of Jamie Phillips Web: http://phillipsj.net Twitter: @phillipsj73 Github: phillipsj
  2. 2. 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 -- https://lostechies.com/derekgreer/2016/02/28/separation-of-concerns- application-builds-continuous-integration/
  3. 3. MSBUILD <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 created --> <Output TaskParameter = "OutputAssembly“ ItemName = "EXEFile" /> </CSC> <!-- Log the file name of the output file --> <Message Text="The output file is @(EXEFile)"/> </Target> </Project>
  4. 4. ALBACORE require 'albacore' require 'albacore/tasks/versionizer' require 'albacore/ext/teamcity' Albacore::Tasks::Versionizer.new :versioning desc 'Perform fast build (warn: doesn't d/l deps)' build :quick_build do |b| b.logging = 'detailed' b.sln = 'src/MyProj.sln' end
  5. 5. FAKE #r "tools/FAKE/tools/FakeLib.dll" // include Fake lib open Fake Target "Test" (fun _ -> trace "Testing stuff..." ) Target "Deploy" (fun _ -> trace "Heavy deploy action" ) "Test" // define the dependencies ==> "Deploy" Run "Deploy"
  6. 6. CAKE var target = Argument("target", "Default"); Task("Default") .Does(() => { Information("Hello World!"); }); RunTarget(target);
  7. 7. 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. • http://cakebuild.net
  8. 8. WHY CAKE? • C# • Consistent across environments • Build server agnostic • Great Plugin System -- Addins • .NET at your finger tips • No other runtime dependencies • Repeatable • Reduced learning curve
  9. 9. TOOLS Chocolatey GitVersionMSTest NSIS NuGet DNUDotCoverMSBuild Fixie GitReleaseNotesGitTools NUnit ILMerge Octopus DeployOpenCoverRoundhouse GitReleaseManager SignToolWiX XBuild TextTransform xUnit ReportGeneratorDupFinder InspectCodeSpecFlow GitLink plist SwaggerReSharper Squirrel* Vagrant Wyam Vsce Xamarin XCode YAML XdtTransform* PowershellTopShelfStrongNameToolWebDeploy Unity MagicChunks IIS Orchard*
  10. 10. SOMETHING MISSING?
  11. 11. HOW DO YOU US IT? • Web Apps • Desktop Apps • Libraries • Electron Apps
  12. 12. EXAMPLES
  13. 13. SOME OF OUR PLUGINS • Cake.XdtTransform • Cake.Orchard • Cake.Squirrel • Cake.AzureStorage
  14. 14. QUESTIONS

×