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 »

Like an ogre One of my colleagues had an opportunity to work closely with Clover's HTML code coverage report. After several days, he stated: "Do you know? Clover's HTML report is like an ogre from the Shrek movie - it is composed of layers. Every time I thought I already learned this report, I was discovering new, tiny but yet extremely useful detail in it. I don't even know if I reached the bottom already." Layers of code coverage As a Clover developer, I know these reports from the inside-out.

Continue reading »

5 tips for great code reviews

In almost every organization, team members collaborate to get work done. Software teams typically transition issues between people for different functions like code development, code review, and testing (even if they are all on the same team). When transitioning an issue from one team member to another it’s important to minimize the amount of ramp up required for the receiver to fully understand the issue. Transferring issues can be extremely expensive as it requires time from not only one,

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 »

As Git solidifies its position as the version-control-of-choice in the workplace, Stash is delighting those workplace Git users. And it's no surprise: Stash is fantastic for organizing repos, digging into the code, and managing the flow of code from branch to branch. But... If you're not using Bamboo for continuous integration and delivery in combination with Stash, you're not maximizing Stash's full potential. Here's why. Efficient use of time & build resources One thing nearly all

Continue reading »