In case you missed last Thursday's "Git workflows for SaaS teams" webinar, we just published the recording. Despite the title, the content is about 10% SaaS / 90% Git best practice, so you should get something out of it (regardless of what type of software you make)–especially if you're: currently using Git, but feel like you're not getting the most out of your workflow not using Git, and thinking about migrating soon curious about feature branching, merge strategies, continuous integration

Continue reading »

There's this idea floating around: an idea that builds are the devil. That they're unreliable, tedious and confusing. I won't try to refute this... but my secondment has taught me that builds are so much more! I began at Atlassian as a developer on the Confluence development team where my work primarily involved delivering features such as Confluence-JIRA integration and the Confluence Space IA (Left Sidebar). So when I was approached about joining the Confluence build engineering team for

Continue reading »

Developing on the Salesforce platform can become complex to manage as your team and your projects grow and mature. At Atlassian, our internal Salesforce development team started five years ago with a single analyst making small changes and customizations to support a single department. Today, it’s a small team of developers, admins, and a program manager supporting multiple departments with varying needs for customizations of our Salesforce deployment. The team manages both types of Salesforce

Continue reading »

If you follow Atlassian, you know we're big on continuous integration ("CI") and Git–separately, sure: but even bigger on the power that the two offer in combination. Today I want to share some tips for getting your CI system to interact optimally with your repository, which is where it all begins. 1: Avoid tracking large files in your repo One of the things you often hear about Git is that you should avoid putting large files into your repository: binaries, media files, archived artifacts,

Continue reading »

What the heck is the quiet period? The quiet period is a optional setting on each repository connected to Bamboo. After seeing that a commit has been made to the repo, the quiet period (if enabled) tells Bamboo how long to wait before actually kicking off the build. It lives under the Advanced options in the Linked Repositories configuration screen. Here's what the configuration looks like: Fun Fact! The quiet period was originally invented to cater for the fact that CVS commits are

Continue reading »

Last week, Tim Pettersen and I held a webinar on optimizing your CI system for Git. We had a great time putting it together, and attendees asked some truly excellent questions, so I think we can safely call this one a success. To sum up, we covered... Why branch-and-merge workflows are so effective (and easier in Git than in SVN, et al) Strategies for reducing build times How to reap the benefits of "pure" CI without piling changes willy-nilly onto a central branch Git hooks that reinforce

Continue reading »