Continuous Integration

DevOps in Straight English – Part 1 of 2 – Enter the Buzzword

DevOps in Straight English – Part 1 of 2 – Enter the Buzzword


If you’re like me, you may be suffering a bit of buzzword fatigue, especially relating to how this word is used (or misused) within the IT community. But for those of us who have been a part of the community for awhile, it holds deeper meaning than the oft repeated platitude of “Software Developers and Sysadmins working together, riding unicorns over rainbows“. Okay, while I may have gotten slightly carried away, you get the point.

What is DevOps to the broader community that embraces it, and is helping even now to define it? What does that even mean for Red Hat’s IT efforts? We’re going to dive deeper into both questions in this installment.

Continue reading “DevOps in Straight English – Part 1 of 2 – Enter the Buzzword”


Continuous Integration Strategies (Part 3 of 3)

This is part 3 of a three part article on Continuous Integration Strategies:  Simplifying application development on Red Hat® Enterprise Linux®


The testing environment requirements are simplified somewhat if your software is built against a Red Hat Software Collection (RHSCL).

Red Hat Software Collections provide three primary features: the ability to have multiple versions of software on one OS, certainty that the software is the same across versions of the OS, and the option to refresh components more frequently than the underlying OS.
As a result, testing need only be performed against the software collection for which the application has been built—so an application developed to run on the software collection for Python 2.7 should be testable on that software collection running on any version of Red Hat Enterprise Linux. The test results should then be valid for all versions of Red Hat Enterprise Linux that run that software collection.


Test coverage within the CI environment should be considered no differently than any other integration and testing regime. Your tests should provide an appropriate breadth of coverage and depth in test scenarios to ensure the necessary level of quality in the delivered software.

Continue reading “Continuous Integration Strategies (Part 3 of 3)”


Incepting DevOps at Red Hat

A few short months ago, I was managing an operations team at another firm. There had been a sea change in executive leadership over the summer, and the DevOps transformation that I’d helped to kick off was quickly being unraveled by the sorts of executive shenanigans that can ensue when a C level departs and leaves an opening. I was open minded to a change in scenery and got the call of a lifetime from a Red Hat recruiter.

You see, I’ve been involved in the Linux community since around 1998. I helped grow the Triangle Linux Users Group in its early years, and served a term on the steering committee as Vice Chair. When the community was looking for an enterprise class Linux distribution without the cost of a subscription model, I joined the cAosity project (now gone) and helped deliver CentOS to the Linux community. Open Source was in my DNA, and living in the Raleigh area the success of Red Hat was always right there for me to admire. “Someday I’d like to work there,” I often thought to myself.

This DevOps thing has gotten a lot of traction with me. I’ve been a volunteer co-organizer at Triangle DevOps, and have even given a few public talks on the subject, too.

Continue reading “Incepting DevOps at Red Hat”


Continuous Integration Strategies (Part 2 of 3)

This is part 2 of a three part article on Continuous Integration Strategies:  Simplifying application development on Red Hat® Enterprise Linux®


Within a Continuous Integration environment there are some key features that are required to encourage an effective process.


For the effective operation of CI, it’s essential that all project source code and build components are maintained in a single repository. The repository must contain not just the source code, but all the assets needed to build, deploy, and test the software; this may include test scripts, property/configu- ration files, database schema, install scripts, and third-party libraries.


A key feature of CI is that software should be built regularly—possibly as regularly as each check-in of amended source code, but no less frequently than daily. It’s therefore essential that the build be automatic, complete, and quick.

Continue reading “Continuous Integration Strategies (Part 2 of 3)”


Continuous Integration Strategies (Part 1 of 3)

This is part 1 of a new three-part article about Continuous Integration Strategies.  We hope you enjoy it!


Continuous Integration (CI) offers a method of avoiding the integration issues that typically occur when there are extended periods between developers checking in working copies of code.  However, the technique also offers significant benefits where an application is designed to run on multiple versions of a platform and the application and platform are changing. In both cases, Continuous Integration facilitates the early detection and eradication of software defects: defects that may otherwise go undetected for days, weeks, or months after they were created. Detecting and resolving these problems early in the development process can translate into lower costs and shorter timelines.

This paper aims to simplify the adoption of Continuous Integration by software vendors targeting Red Hat® Enterprise Linux®. It does this by providing guidance on: