Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Cross platform continuous delivery - A grand unified theory

1,156 views

Published on

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!

  • Be the first to comment

  • Be the first to like this

Cross platform continuous delivery - A grand unified theory

  1. 1. Cross Platform Continuous Delivery: Web, Mobile and Desktop A Grand Unified Theory First Stars by Paul Chaloner, flickr
  2. 2. Why Continuously Deliver?
  3. 3. About Bluebird…
  4. 4. The Problems… • • • • • Slow build server CI < Math.Enough Office bound Manual releases Backups < Math.Enough Unhappy clock by nocore, flickr
  5. 5. Why Now? • • • • Feeling the pain Less time, very shortly Need to outsource Increased awareness
  6. 6. The Aspirations... • • • • • • • Work anywhere Work with anyone With without internet Start developing instantly Get feedback, fast Frequent, reliable releases Price < Math.TooMuch IMG_4255 by Michel van den Bogaard, flickr
  7. 7. For Source control… • • • • Accessible from anywhere Easy to collaborate Develop/commit without internet $22/month for 20 private repos
  8. 8. Quick look @ GitHub…
  9. 9. For Continuous integration… + • • • • • • Free (20 projects) Cross-platform Intuitive UI Lots of useful features Flexible $67/month for small VM
  10. 10. Quick look @ TeamCity…
  11. 11. The Ideals... • • • • • Local & CI build parity No redundant building Lose coupling of projects Internal dependencies as products Internal & external dependency consistency
  12. 12. Packages FTW… • • • • Over 16,000 in the NuGet gallery Can be used for internal dependencies Can be used for deployments Tools & repositories
  13. 13. Quick look @ MyGet…
  14. 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
  15. 15. Demo Making changes…
  16. 16. The Challenges… • • • • Need agent side checkout Build retriggering Remember snaphots NuGet not designed for internal dependencies Matterhorn Mickey by Andy Castro, flickr
  17. 17. For Release management… • • • • • Free (5 projects) Intuitive UI Flexible Package based Fits our release process
  18. 18. Quick look @ Deployment Manager
  19. 19. Outstanding Difficulties… • • • • Updating dependencies Cross-repository changes Feature branches AppStore deployments Maze 2 by Michael Wyszomierski, flickr
  20. 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
  21. 21. Any Questions? @JustinCaldicott Finger face with a question by Tsahi Levent-Levi, flickr

×