Slides from a session presented at the DDD North event on 12th October 2013.
It’s remarkably easy to share code between a web service, web site, iOS app and desktop app, using .NET and Xamarin. Continuous delivery across multiple platforms *should* be easy too – the tools are all there, and the benefits for testing and productivity are huge, so let’s look at what it takes to get it working.
This session will look at how to set up a multi-platform continuous delivery process, show you where the gotchas and pitfalls are, and explain how it’s going to make it easier to develop future software. It’s for anyone interested in smoothly delivering software to any platform, and anyone who wants to see what’s possible when someone else has done all the trial and error!
11. The
Ideals...
•
•
•
•
•
Local & CI build parity
No redundant building
Lose coupling of projects
Internal dependencies as products
Internal & external dependency consistency
14. The
Design...
•
•
•
•
•
Architecture by Moyan Brenn, flickr
Separate repository for each project & tests
NuGet for all dependencies
TeamCity & MyGet for feeds
TeamCity creates release ready artefacts
Auto-update references to latest dependencies
16. The
Challenges…
•
•
•
•
Need agent side checkout
Build retriggering
Remember snaphots
NuGet not designed for internal
dependencies
Matterhorn Mickey by Andy Castro, flickr
20. Key
Takeaways…
•
•
•
•
•
•
Streets of San Francisco by Frank Kehren, flickr
Infrastructure can be in the cloud
DVCS worth learning
Get everything under CI
Libraries are products too
Release management > deployment via CI
Tools available