21
Cross Platform Continuous Delivery: Web, Mobile and Desktop - A Grand Unified Theory First Stars by Paul Chaloner, fli

Cross platform continuous delivery - A grand unified theory

Embed Size (px)

DESCRIPTION

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!

Citation preview

Page 1: Cross platform continuous delivery - A grand unified theory

Cross Platform Continuous Delivery: Web, Mobile and Desktop -

A Grand Unified Theory

First Stars by Paul Chaloner, flickr

Page 2: Cross platform continuous delivery - A grand unified theory

WhyContinuously Deliver?

Page 3: Cross platform continuous delivery - A grand unified theory

AboutBluebird…

Page 4: Cross platform continuous delivery - A grand unified theory

TheProblems…

• Slow build server• CI < Math.Enough• Office bound• Manual releases• Backups < Math.Enough

Unhappy clock by nocore, flickr

Page 5: Cross platform continuous delivery - A grand unified theory

WhyNow?

• Feeling the pain• Less time, very shortly• Need to outsource• Increased awareness

Page 6: Cross platform continuous delivery - A grand unified theory

TheAspirations...

• 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

Page 7: Cross platform continuous delivery - A grand unified theory

• Accessible from anywhere• Easy to collaborate• Develop/commit without internet• $22/month for 20 private repos

ForSource control…

Page 8: Cross platform continuous delivery - A grand unified theory

Quick look@ GitHub…

Page 10: Cross platform continuous delivery - A grand unified theory

Quick look@ TeamCity…

Page 11: Cross platform continuous delivery - A grand unified theory

TheIdeals...

• Local & CI build parity• No redundant building• Lose coupling of projects• Internal dependencies as products• Internal & external dependency consistency

Page 12: Cross platform continuous delivery - A grand unified theory

• Over 16,000 in the NuGet gallery• Can be used for internal dependencies• Can be used for deployments• Tools & repositories

PackagesFTW…

Page 13: Cross platform continuous delivery - A grand unified theory

Quick look@ MyGet…

Page 14: Cross platform continuous delivery - A grand unified theory

TheDesign...• 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

Architecture by Moyan Brenn, flickr

Page 15: Cross platform continuous delivery - A grand unified theory

DemoMaking changes…

Page 16: Cross platform continuous delivery - A grand unified theory

TheChallenges…

• Need agent side checkout• Build retriggering• Remember snaphots• NuGet not designed for internal

dependencies

Matterhorn Mickey by Andy Castro, flickr

Page 17: Cross platform continuous delivery - A grand unified theory

ForRelease management…

• Free (5 projects)• Intuitive UI• Flexible• Package based• Fits our release process

Page 18: Cross platform continuous delivery - A grand unified theory

Quick look@ Deployment Manager

Page 19: Cross platform continuous delivery - A grand unified theory

OutstandingDifficulties…

• Updating dependencies• Cross-repository changes• Feature branches• AppStore deployments

Maze 2 by Michael Wyszomierski, flickr

Page 20: Cross platform continuous delivery - A grand unified theory

KeyTakeaways…

• Infrastructure can be in the cloud• DVCS worth learning• Get everything under CI• Libraries are products too• Release management > deployment via CI• Tools available

Streets of San Francisco by Frank Kehren, flickr

Page 21: Cross platform continuous delivery - A grand unified theory

AnyQuestions?

Finger face with a question by Tsahi Levent-Levi, flickr

@JustinCaldicott