Upgrade to Pro — share decks privately, control downloads, hide ads and more …

JUC ISRAEL 2013

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers. →

JUC ISRAEL 2013

Jenkins User Conference 2013, Sfayim Israel

Haggai Philip Zagury

June 06, 2013

Transcript

79 slides
  1. .Net Open Source CI & CD with Jenkins 06.06.2013 JUC,

    Israel Haggai Philip Zagury, #Jenkinsconf @Jenkinsconf Jenkins User Conference
  2. Haggai Philip Zagury DevOps / PS Engineer “ I am

    a member of Tikal's ALM group. With over 5 members, we meet, share, contribute and code together on a monthly basis whoami ?
  3. Today we are SURE that we made the right decision,

    choosing Tikal “ “ Guy Ben-Porat, Development Manager “ExLibris”
  4. 1600+ Cummunity Members 150+ Blog posts last year 460+ Meet

    up Members 12+ Years old 90+ Tikal’s Experts Team 100+ Projects Last Year TIKAL BY NUMBERS
  5. The keys to success • Implementing CI’s “ 10 commandments

    “ • Dependency Mechanism • Code Quality & analysis
  6. So how to CI & CD for with CI DM

    CQ CD Hopefully answer them one by one …
  7. Continuous Integration The “10 Commandments “ • Maintain a code

    repository (central / shared) • Automate the build • Make the build self-testing • Everyone commits to the baseline every day • Every commit (to baseline) should be built • Keep the build fast • Test in a clone of the production environment • Make it easy to get the latest deliverables • Everyone can see the results of the latest build • Automate deployment
  8. • Maintain a code repository (central / shared) • Automate

    the build • Make the build self-testing Achieving CI
  9. • Maintain a code repository (central / shared) • Automate

    the build • Make the build self-testing • Everyone commits to the baseline every day • Every commit (to baseline) should be built Achieving CI
  10. • Maintain a code repository (central / shared) • Automate

    the build • Make the build self-testing • Everyone commits to the baseline every day • Every commit (to baseline) should be built Achieving CI You could probably achieve CI with TFS – we will see later why it’s not enough ….
  11. So how to CI & CD for with CI DM

    CQ CD MSBUILD NCOVER FXCOP Nant & more
  12. Dependency Management 2nd and 3rd party build & development integration

    Apache / Maven have tried in the past … Reference from SlaeSforce 2008: http://www.slideshare.net/sgreene/dependency- management-in-a-large-agile-environment-presentation A maven .NET implementation Soon to be terminated … Tip: Don’t Push Binaries To Source Control, Use NuGet Wisely Instead
  13. What is NuGet NuGet is a Visual Studio extension that

    makes it easy to install and update third-party libraries and tools in Visual Studio.
  14. From the comfort of NuGet “magic” – the omu.* files

    are references imported by the nuget.exe
  15. Nuget workflow 1. Check for update 2. install to pkg

    dir [ if update needed ] 3. Regular compile sequence [ msbuild ]
  16. NuGet workflow Build Package <?xml version="1.0" encoding="utf-8"?> <package> <metadata> <id>Microsoft.Silverlight.Testing</id>

    <version>4.0.40413.2012</version> <authors>hagzag</authors> <owners>hagzag</owners> <requireLicenseAcceptance>false</requireLicenseAcceptance> <description>NuGet package</description> </metadata> </package> nuget pack command: nuget.exe pack <.nuspec file>
  17. NuGet workflow Build Push/Update Package nuget push command: nuget push

    <path to .nupkg> -s <artifact server url> -ApiKey <ApiKey>
  18. Home Grown solution • No ACL / AUTH • Friendly

    URL ? • Friendly UI ? • More …
  19. Jenkins NuGet Plugin Trigger a build based on dependency change

    in NuGet – Check every … Java Guys are saying so what …, Maven does the same thing … 
  20. So how to CI & CD for with CI DM

    CQ CD MSBUILD NCOVER FXCOP Nant & more
  21. So how to CI & CD for with CI DM

    CQ CD MSBUILD NCOVER FXCOP Nant & more
  22. So how to CI & CD for with CI DM

    CQ CD MSBUILD NCOVER FXCOP Nant & more

More Decks by Haggai Philip Zagury

Other Decks in Programming