HOME

TheInfoList



OR:

AnthillPro is a software tool originally developed and released as one of the first continuous integration servers. AnthillPro automates the process of building code into software projects and testing it to verify that project quality has been maintained. Software developers are able to identify bugs and errors earlier by using AnthillPro to track, collate, and test changes in real time to a collectively maintained body of computer code. AnthillPro was released in 2001. In 2006, AnthillPro expanded into an enterprise integration and delivery automation platform supporting continuous integration, deployment automation,
application lifecycle management Application lifecycle management (ALM) is the product lifecycle management (governance, development, and maintenance) of computer programs. It encompasses requirements management, software architecture, computer programming, software testing, so ...
(ALM), and the emerging
DevOps DevOps is a set of practices that combines software development (''Dev'') and IT operations (''Ops''). It aims to shorten the systems development life cycle and provide continuous delivery with high software quality. DevOps is complementary to a ...
methodology. AnthillPro supports distributed and cross-platform builds in .NET,
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
,
C/C++ The C and C++ programming languages are closely related but have many significant differences. C++ began as a fork of an early, pre-standardized C, and was designed to be mostly source-and-link compatible with C compilers of the time. Due to thi ...
and other
programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
s. AnthillPro had over 400 enterprise customers worldwide as of 2009. UrbanCode was bought by IBM in April 2013. On August 28, 2017, it was announced that AnthillPro is being retired and will no longer be supported after October 31, 2018. It is replaced in the market by IBM UrbanCode Build and IBM UrbanCode Deploy.


Historical perspective


Continuous integration

In software development organizations that use Source Configuration Management (SCM), developers first analyze and remove code from the "main code line," which is the main body of code. The developers then change the removed code and embed the altered code back into the main code line, which is a process referred to as "checking in." After the code is checked in, the entire project can then be built and tested. If there are no errors generated during the build process, the build is deployed to a test environment and unit tested to ensure that the quality of the project has not decreased since the previous build. This process of "build, deploy, unit test" for every occasion of checked-in code is referred to as continuous integration (CI). The original Anthill software tool, released in 2001, was a simple continuous integration server and is still available today. Along with tools such as
CruiseControl In software development, CruiseControl is a Java-based framework for a continuous build process. It includes, but is not limited to, plugins for email notification, Ant, and various source control tools. A web interface is provided to view the ...
, Anthill contributed to the establishment of standard tools for continuous integration practices.


Build/integration cycles become more frequent

Originally, the term "build" referred to the process of compiling and linking source code into executable code. Typically, these executable codes would be stand-alone applications, such as Microsoft Word or Adobe Photoshop. During the 1990s, the typical release cycle for applications (such as the
Microsoft Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
operating system) was 12 to 24 months. In traditional software development at that time, developers would typically check in code once a day, and would run a "nightly build" after all the code was checked in. If the code built successfully, they would run a series of unit tests and general functions tests, commonly referred to as "smoke tests." If any of the tests failed, the build was considered a failure and had to be fixed immediately. If the tests passed, then the build might be deployed to a test system for further testing.


Build/integration of applications becomes more complex

With the advent of multi-tier architectures, beginning with client-server and progressing to
service-oriented architecture In software engineering, service-oriented architecture (SOA) is an architectural style that focuses on discrete services instead of a monolithic design. By consequence, it is also applied in the field of software design where services are provide ...
, a build became much more complex than simply compiling and linking code. Builds included many other types of activities, such as applying database changes, loading static content from a
content management system A content management system (CMS) is computer software used to manage the creation and modification of digital content (content management).''Managing Enterprise Content: A Unified Content Strategy''. Ann Rockley, Pamela Kostur, Steve Manning. New ...
, configuring software components, and deploying all or part of the build. UrbanCode released the original Anthill OS as a free tool intended for
build management In software development, a build is the process of converting source code files into standalone software artifact(s) that can be run on a computer, or the result of doing so. Functions Building software is an end-to-end process that involves ma ...
. Due to the popularity of Anthill OS, UrbanCode created AnthillPro as a commercial product. UrbanCode released the first commercial edition of AnthillPro in 2002. Unlike CruiseControl, which at the time was focused purely on providing developers feedback about the health of their builds, AnthillPro was focused on build management and using the results of one project's build as a dependency for other projects.


Application release cycles shrink - Build cycles become more frequent

In addition to the growing complexity of the build/release cycle, the typical release cycle for software projects continues to shrink radically. As agile methodologies have become more commonly practiced, the pace of integration and build has changed from once a day to every time there is a code change. According to
agile software development In software development, agile (sometimes written Agile) practices include requirements discovery and solutions improvement through the collaborative effort of self-organizing and cross-functional teams with their customer(s)/ end user(s), ad ...
, the main line of code should be ready to ship at any time; it may not be feature complete, but it must be of sufficient quality to be releasable. AnthillPro supports such methodologies by monitoring the organization's various source control systems and triggering a build when a developer commits to a change. The build provides the first (and usually the most critical) test that verifies the integration. Once the build is complete, AnthillPro captures the build product for further testing and deployment. As additional tests are executed on the build, the team can gain greater confidence in the integration of the new code. In 2006, UrbanCode released the third generation of AnthillPro. This release was a complete rewrite that extended AnthillPro's capabilities beyond continuous integration into automated deployments. Unlike most CI servers, which were build-centric, this new version of AnthillPro used the build only as an initial test. After the build was complete, AnthillPro created binary artifacts that were then tested, deployed and promoted through a lifecycle on their way to production release. This version of AnthillPro included many new features, such as enriched reporting, release management, enhanced security, and the ability to execute workflow steps in remote machines.


Reporting

AnthillPro can gather any reports generated by a build or test process and display them on the AnthillPro server's web interface for review by developers, testers or management.


Release management

AnthillPro is designed to support the release management team's efforts. AnthillPro provides an audit trail linking a build back to its source code and to every deployment and test executed against that build. The audit feature helps a release manager evaluate the readiness of a build to enter production. AnthillPro encourages teams to use a similar automated process for production deployments, thus lowering the risk in a deployment.


Automated deployment

AnthillPro supports automated deployment of a build to a user-configured environment. Administrators can set up gates between each environment, requiring manual user intervention and providing an audit trail. Role-based security can be set up to control what roles (and thus what users) can deploy to which environment.


Integration with external systems

As AnthillPro transitioned from a continuous integration server to an automation framework capable of complex deployments, UrbanCode began expanding AnthillPro's capability to integrate with third-party tools straight out of the box. AnthillPro version 3.8, released in February 2012, integrates with over sixty third-party products, including J2EE servers, databases, build systems, infrastructure, and the Microsoft Platform. Additionally, AnthillPro supports external plugins that extend its automation framework to accommodate virtually any software that can be driven from the command line.


Release history

The original Anthill was a simple continuous integration server released in 2001 and is still available today. In 2002, UrbanCode released the first commercial edition of AnthillPro. In 2006, UrbanCode released the third generation of AnthillPro, a complete rewrite which added support for distributed builds and control over the post-build lifecycle. AnthillPro version 3.6 (released in 2008) extended the tool-set to
Application lifecycle management Application lifecycle management (ALM) is the product lifecycle management (governance, development, and maintenance) of computer programs. It encompasses requirements management, software architecture, computer programming, software testing, so ...
(ALM) using centrally-managed automation for build, deploy, and test. This release added integration for numerous third party ALM point solutions, such as artifact repositories, SCM, issue-tracking, test-automation, change management systems and project management systems. Other new features supporting this consolidation included detailed review of historical test results, flexible resource locking, and preflight builds.Dr. Dobb's Journal (October 28, 2008)
"UrbanCode Adds PreFlight Builds"
''Dr. Dobb's''. Retrieved February 10, 2012.
AnthillPro version 3.7 (released in 2009) increased AnthillPro's ability to integrate with other point tools in continuous integration, build automation, and ALM space. New features added integration plugins for seven of the most widely used source code analysis tools. This release introduced a new plug-in API that allows users to create their own custom integration plug-ins. This release also introduced the AHP Tool, which allows users to create script actions from the command line and access data in the AnthillPro repository; and it introduced Agent User Impersonation, which gives administrators greater control over scripts run by agents.


Competitors

*
Jenkins Jenkins may refer to: People * Jenkins (name), history of the surname * List of people with surname Jenkins * The Jenkins, country music group Places United States *Jenkins, Illinois *Jenkins, Kentucky *Jenkins, Minnesota *Jenkins, Missouri *Je ...


References


External links


UrbanCode official website
{{DEFAULTSORT:AnthillPro Continuous integration Configuration management Build automation Java (programming language) software