Cross Platform Continuous Delivery:
Web, Mobile and Desktop A Grand Unified Theory

First Stars by Paul Chaloner, flickr
Why
Continuously Deliver?
About
Bluebird…
The
Problems…
•
•
•
•
•

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

Unhappy cl...
Why
Now?
•
•
•
•

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

Work anywhere
Work with anyone
With without internet
Start developing instantly
Get feed...
For
Source control…
•
•
•
•

Accessible from anywhere
Easy to collaborate
Develop/commit without internet
$22/month for 20...
Quick look
@ GitHub…
For
Continuous integration…

+

•
•
•
•
•
•

Free (20 projects)
Cross-platform
Intuitive UI
Lots of useful features
Flexib...
Quick look
@ TeamCity…
The
Ideals...
•
•
•
•
•

Local & CI build parity
No redundant building
Lose coupling of projects
Internal dependencies as ...
Packages
FTW…
•
•
•
•

Over 16,000 in the NuGet gallery
Can be used for internal dependencies
Can be used for deployments
...
Quick look
@ MyGet…
The
Design...
•
•
•
•
•

Architecture by Moyan Brenn, flickr

Separate repository for each project & tests
NuGet for all d...
Demo
Making changes…
The
Challenges…
•
•
•
•

Need agent side checkout
Build retriggering
Remember snaphots
NuGet not designed for internal
dep...
For
Release management…
•
•
•
•
•

Free (5 projects)
Intuitive UI
Flexible
Package based
Fits our release process
Quick look
@ Deployment Manager
Outstanding
Difficulties…
•
•
•
•

Updating dependencies
Cross-repository changes
Feature branches
AppStore deployments

M...
Key
Takeaways…
•
•
•
•
•
•

Streets of San Francisco by Frank Kehren, flickr

Infrastructure can be in the cloud
DVCS wort...
Any
Questions?
@JustinCaldicott

Finger face with a question by Tsahi Levent-Levi, flickr
Upcoming SlideShare
Loading in …5
×

Cross platform continuous delivery - A grand unified theory

1,053 views
968 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!

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,053
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

×