Stephen Connolly's blog

Stephen Connolly's picture

WebHook Events and the Party Problem

There was a dark time in the history of the web. The time before services had APIs. Thankfully, that time is past now. Everyone recognizes...
Stephen Connolly's picture

Today I Learned: .gitconfig's includeIf

Today I Learned! (Yes, I am late to this party, but others may not even know of the party, so here goes anyway) Problem I want to have my...
Stephen Connolly's picture

Apache Maven & Continuous Delivery/Deployment - The DevOptics team's approach

Introduction This post is about the approach that the CloudBees DevOptics team uses to get Continuous Delivery / Deployment using Apache...
Stephen Connolly's picture

Our Internal Version Numbering Scheme for DevOptics

In some ways, version numbering schemes can be a lot like TABs vs Spaces or emacs vs vi. You know the kind of wars where the wrong people...
Stephen Connolly's picture

Why Development Environments Shouldn't Be the Same as Production

Unless you are in the development stone age and SSHing into the production servers to hand edit files with Vim or Emacs (please keep that...
Stephen Connolly's picture

Kardashians of Code: The Perfect Life of Pull Request Influencers

There you are scrolling down through your feed and you spot another one of Kim’s. Oh my, it’s gorgeous, fabulous even. The perfect beauty...
Stephen Connolly's picture

A Year of Continuous Deployment: Lessons Learned

About a year ago, we started working on the Run Insights feature for CloudBees DevOptics. A small team of engineers (averaging around three...
Stephen Connolly's picture

Watch Me Code, Episode 12

So here we are, two weeks after Episode 11 was recorded and the plugin has been deployed on the Apache Jenkins build server and used by the...
Stephen Connolly's picture

Watch Me Code, Episode 11

Continuing on from Episode 10 , I review the additional tests I wrote and the bugs found in writing those tests before adding a final piece...
Stephen Connolly's picture

Watch Me Code, Episode 10

With Episode 9 we have a plugin providing almost all the functionality we need. Now is the time for testing! This episode reviews the...