What is Continuous Delivery?
A.K.A don't hurt me no more.
- Automate software delivery to set developers free.
- Automatic = repeatable.
- It's not all or nothing. There is a middle ground.
- Going live with a new version can be (and should be) a business decision.
How to Deliver Continuously?
Commits |
Build + tests |
Deploy: dev |
Deploy: QA |
Deploy: LIVE |
eeef47d |
OK |
OK |
OK |
OK |
c9c747d |
OK |
OK |
OK |
- |
ffe523d |
- |
- |
- |
- |
aa7db7c |
OK |
OK |
- |
- |
db7aa7c |
- |
- |
- |
- |
My favourite tools:
- PSake - build script versioned in the same repo as the rest of the project. Keeps the build server config simple.
- TeamCity - the best build server ever! Keep configuration minimal - PSake enables it.
- *get - NuGet Gallery, MyGet, ProGet, your get...
- OctopusDeploy - the deploy part.
- Hipchat/SnapChat - I'm not there, but I will in 3 months.
Octopus Deploy
- @paulstovell
- Licence: from Community (free) to Enterprise (5000$).
- Parts:
- Tentacles - installed on each machine.
- Server - the one to rule them all.
- Powerful web API: create releases, deploy them.
- Can we move forward, please?