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.
What does it mean to "flatten" your software release process? How will this affect your organizational structure? In the first installment of the Agile DevOps series, DevOps expert Paul Duvall describes how developers and operations are working together on software delivery teams to streamline the process of developing and releasing software. He discusses such nascent topics as test-driven infrastructures, transient environments, and the Chaos Monkey — and how these techniques all work toward the goal of getting software to users more quickly and more often.
It is not an exaggeration to say that Agile has become the default way of working, and organizations are seeing great benefits by making it part of their development culture. Although there are many advantages seen in adopting Agile, we do see many challenges in applying it in practice. To set the context for this article, let us consider organizations that work in complex environments with a legacy of products and hundreds of teams involved. Both release management and planning the next product release have been acknowledged challenges; that is especially true in market-driven product development.
Often, an existing database application must evolve rapidly by incremental steps. Alex describes a tried and tested system to provide an automated approach to deploying both new and existing database systems, whilst dealing with common security and configuration issues.
When inheriting an Ant build file to maintain, it is useful to get a feel for the flow and structure. Sketching the dependencies between targets is a useful way to do this. While it is time consuming to do so by hand, there are a number of tools to help.
This article shows you how to use the open source Apache Maven build management tool to automate build and deployment projects on IBM® SmartCloud Enterprise. It demonstrates how to integrate the management of virtual machines on the cloud into the build and deployment life cycle by developing an Apache Maven plug-in that looks up and creates virtual machines that run a J2EE application server on the cloud.
With so many Continuous Integration (CI) servers to choose from, it can be difficult to decide which one is right for you. This article looks at a handful of open source CI servers, including Continuum, CruiseControl, and Luntbuild, using a consistent evaluation criteria and illustrative examples.
Refactoring is a well-accepted practice for improving existing code. Yet, how do you find the code that should be refactored, in a consistent and repeatable manner? This installment of Automation for the people explains how to use static analysis tools to identify code smells to refactor, with examples showing how to improve odiferous code
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.