In the course of rescuing a development from 'merge misery', it became increasingly apparent that there were a number of practices for managing branches in the Version Control System that would have reduced the pain and effort of the subsequent merge, and made the dream of continuous delivery come closer to reality. From the experience comes some well-tested ways of making branches and merges a stress-free part of application development.
There are a lot of CM/ALM solutions out there - so where are we headed. In my opinion, the future of CM/ALM will be defined by the level of tool suite integration, more than by any other factor in the 3rd and 4th Generations of tools. And basic "integration" will not cut it. Putting tools together into a single package with some glue and triggers to help the tools interact is helpful, but will fall short of market demand. "Seamless Integration" will be a requirement. No advance is more important to the next genreation of CM tools. What about cost? What about ease-of-use? How about traceability?
Ant is arguably the de facto build tool for the Java™ platform; however, other build tools, which support a more expressive paradigm that XML lacks, are entering the scene. In this installment of Automation for the people, automation expert Paul Duvall describes how Raven, a build platform built on top of Ruby, leverages the power of a full-featured programming language with the simplicity of a build-centric Domain Specific Language.
Java™ deployments are often messy, error-prone, and manual, leading to delays in making software available to users. In Part 2 of this two-part article, automation expert Paul Duvall expands on a collection of key patterns for developing a reliable, repeatable, and consistent deployment process capable of generating one-click deployments for Java applications.
ou might be familiar with profiles, but did you know that you can use them in Maven to execute specific behaviors in different environments? This installment in the 5 things series looks beyond Maven's build features, and even its basic tools for managing the project life cycle, delivering five tips that will improve the productivity and ease with which you manage applications in Maven.
Source control will allow you to maintain branches in the development of your database, but the subsequent merge isn't pain-free. How, from the practical perspective, can the database developer support the rapid development and delivery of features in an application? Versioning, branching and merging is part of the solution, but what about the rest of the solution?
Management Likes Integration, But Nothing Works As Advertised! That’s wrong with the concept of Integrated Tool Suites? This has been touted as the holy grail of CM for years – right? Almost all of the commercial vendors of CM tools offer integrated tool suites that do at least Version Control and Defect Tracking, and most do more. Most of the IDEs, including Eclipse and MS-Visual Studio just to mention two, offer integration with other tools. So again, what’s wrong with this concept?
While Continuous Integration (CI) can be extremely effective at reducing risks on a project, it requires a greater emphasis on your day-to-day activities related to coding. In this installment of Automation for the people , automation expert Paul Duvall, lays out a series of CI anti-patterns, and more importantly, shows how to avoid them.