O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
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
Próximos SlideShares
Carregando em…5
×

Builds with a side of Cake - CodeStock 2016

722 visualizações

Publicada em

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/

Publicada em: Software
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

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

×