|
CM Crossroads the Configuration Management Community |
Check out the latest articles from the Configuration Management Journal
Structuring your Ant Scripts
Build engineers must often support complex build processes. Many times we inherit complex Ant and Maven scripts that can be very difficult to decipher. Usually, we also have a release to get out the door - which often leaves little time to rewrite the entire script. I have found that taking a "divide and conquer" approach reduces the complexity (especially the risk) and helps get the job done a lot quicker. Read on if you would like to see how you can structure your Ant scripts and bre...
What does process really mean?
What does it mean to be process oriented? I have had many times when a colleague patiently explained to me that his group's process is to do one thing or another. The only problem is that I quickly ascertained that there really was no "process" in place at all. My colleague was really trying to tell me how his team was working. Now defining a process is not always necessary or even valuable at times. I shocked a colleague recently when I argued that a checklist was better than defining...
The Basics: VPATH and vpath
This article is about two pieces of GNU Make syntax that seem to be
widely misunderstood or simply avoided outright: VPATH and vpath. Part
of the reason for this fear of VPATH is that their use can make
Makefiles difficult to understand and debug... even though they were
designed to simplify Makefile structure!
In this article I explain the operation of VPATH and vpath, their proper use, and some alternatives.
Source Control HOWTO: Repositories
Cars and Clocks
In previous chapters I have mentioned the concept of a repository, but I haven't said much further about it. In this chapter, I want to provide a lot more detail. Please bear with me as I spend a little time talking about how an SCM tool works "under the hood." I am doing this because an SCM tool is more like a car than a clock.
CM: THE NEXT GENERATION of Build Management
The very
first generation of CM tools dealt with support for build operations. Typically, this was through the inclusion of
a facility such as a Make utility, and perhaps some tools to help build Make
files. But as we move into the next
generation of CM tools, it is also more important to be able to manage the
builds at an information level. Build
Management moves from the earlier build operation support and tagging
functions, to wider traceability and better informati...
Behaviorally Speaking - Build and Deployment Management
Build, Release and Deployment Management is very much like designing the controls in the cockpit of a large airplane. Everyone understands the importance of creating complex airplane controls that are easy to understand and enable the pilot to make split second decisions with perfect accuracy. The field of ergonomics focuses on designing equipment, including complex controls that fit the operator perfectly, enabling continuous operation with few or no mistakes. We expect pilots to always underst...
Continuous Integration and Enterprise Build Automation
How often have you or one of your teammates checked the source code into the code library which then instantly triggered an automated build? How many times did this instant build succeed? Do you have an automated build and release system that ensures your software is built in the same way each and every time? Are deployments to staging environments entirely automated and executed with a single click? While reviewing a defect in a production release, are you able to backtrack through the so...
Using a Commercial Tool to Automate a Build and Deployment Process
Your responsibility is to "design
and build tools to run and monitor an optimized, parallel, nightly and
on-demand build and deploy system across multiple development branches in
multiple environments." How will you tackle this challenge? Will you create
tools from scratch or will you construct a comprehensive system by customizing
an existing framework?
Release Management, the Super Discipline
Have you ever wondered what is the best approach to establish the relationship and the placement of the tasks of the various software disciplines? Have the project managers, developers, and testers been confused because they generally know what CM is but are not clear where CM tasks should occur in a project release lifecycle and how they relate to other disciplines?
Breaking News; Build Still Important, but Deployment is King!
Build and Deployment
are subjects which are dear to our hearts and we have written quite a lot about
them over the years. While the details may change from year to year as
technology evolves, the underlying principles remain the same.
Regarding building, we
are going to take the opportunity to provide a guide to some of our previous
articles which still hold true.
|