Handwritten Text Recognition for manuscripts and early printed texts
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013
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. We help companies build,
deliver, deploy, manage
and optimize our
customers products.
WHO WE ARE?
21. So how to CI & CD for with
CI DM CQ CD
Hopefully answer them one by one …
22. 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
23. • Maintain a code repository (central / shared)
Achieving CI
24. • Maintain a code repository (central / shared)
• Automate the build
Achieving CI
25. • Maintain a code repository (central / shared)
• Automate the build
• Make the build self-testing
Achieving CI
26. • 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
27. • 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 ….
33. So how to CI & CD for with
CI DM CQ CD
MSBUILD
NCOVER
FXCOP
Nant
& more
34. 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
35. 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.
58. 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 …
59. So how to CI & CD for with
CI DM CQ CD
MSBUILD
NCOVER
FXCOP
Nant
& more