Posts about CD

Over time, I've refined my Arduino workflow using common commandline tools. Here's how I'm able to easily build and deploy microcontroller code to Arduino boards using Bamboo.

If you're a beginner, the terminology of Continuous Integration can turn you away. Look beneath the ugly words at the beautiful and powerful techniques you can use in your team right now.

This June I had the pleasure of presenting a talk on continuous deployment at Devoxx UK. The video for this talk is now online. As the information in this talk may be of use to some people a full transcription of the talk and questions is below...

Deployment doesn't get any simpler than just getting the latest versions of some files up to the production server. While rsync, sftp, and scp have long been the tools of the trade for such simple deployments, these approaches have their warts. Even if it is easy to recover, an remote copy that fails in the middle may leave a web site in an incoherent state. If you are already using Git to manage the files as source code, then you may benefit from using Git's native ability to distribute versions of files. While this idea isn't all that new, there is a new feature of Git that makes this much easier than in past. Read on to learn when Git-based deployments are appropriate and how you can use Git to deploy files.

Back in December I did a webinar on some of the advantages of using git with your Bamboo pipeline, leveraging some of the Bamboo and Stash integrations to create a feed-back loop of quality control. The transcript for this webinar is now available below the fold...

git merge-distinct is a little tool that merges multiple branches containing non-conflicting changes into a single head, using git's octopus-merge strategy. Why would you want such a thing? Because while it's useful to develop in the isolation of a feature branch, it can often be useful to combine branches together for testing or deployment to a staging server.