Разработчик(и) | ИБМ |
---|---|
Стабильный релиз | 5.0.0 / Сентябрь 2013 г. ( 2013-09 ) |
Написано в | Ява |
Операционная система | Кроссплатформенный |
Тип | Непрерывная интеграция , Непрерывная доставка , Управление жизненным циклом приложений (ALM) , Автоматизация выпуска приложений , DevOps |
Лицензия | Запатентованный |
Веб-сайт | developer.ibm.com/urbancode/ [ мертвая ссылка ] |
AnthillPro — это программный инструмент, изначально разработанный и выпущенный как один из первых серверов непрерывной интеграции . AnthillPro автоматизирует процесс встраивания кода в программные проекты и его тестирования для проверки сохранения качества проекта. Разработчики программного обеспечения могут выявлять ошибки и дефекты раньше, используя AnthillPro для отслеживания, сопоставления и тестирования изменений в режиме реального времени в коллективно поддерживаемом теле компьютерного кода .
AnthillPro был выпущен в 2001 году. В 2006 году AnthillPro расширился до платформы автоматизации интеграции и доставки корпоративного уровня [1] [2], поддерживающей непрерывную интеграцию, [3] : 59 автоматизацию развертывания, [3] : 126 управление жизненным циклом приложений (ALM) [4] и новую методологию DevOps . [5]
AnthillPro поддерживает распределенные и кроссплатформенные сборки на .NET , Java , C/C++ и других языках программирования . По состоянию на 2009 год у AnthillPro было более 400 корпоративных клиентов по всему миру. [6] UrbanCode был куплен IBM в апреле 2013 года. [7]
28 августа 2017 года было объявлено, что AnthillPro прекращает поддержку и не будет поддерживаться после 31 октября 2018 года. [8] На рынке его заменили IBM UrbanCode Build и IBM UrbanCode Deploy.
В организациях по разработке программного обеспечения, использующих Source Configuration Management (SCM) , разработчики сначала анализируют и удаляют код из «главной строки кода», которая является основным телом кода. Затем разработчики изменяют удаленный код и встраивают измененный код обратно в главную строку кода, что является процессом, называемым «регистрацией». После регистрации кода весь проект может быть собран и протестирован.
Если в процессе сборки не было сгенерировано никаких ошибок, сборка развертывается в тестовой среде и проходит модульное тестирование , чтобы убедиться, что качество проекта не ухудшилось с момента предыдущей сборки. Этот процесс «сборка, развертывание, модульное тестирование» для каждого случая проверенного кода называется непрерывной интеграцией (CI) . [ необходима цитата ]
Первоначальный программный инструмент Anthill, выпущенный в 2001 году, был простым сервером непрерывной интеграции и доступен по сей день. Наряду с такими инструментами, как CruiseControl , Anthill внес вклад в создание стандартных инструментов для практик непрерывной интеграции. [3]
Первоначально термин «сборка» относился к процессу компиляции и связывания исходного кода в исполняемый код. Обычно эти исполняемые коды были автономными приложениями, такими как Microsoft Word или Adobe Photoshop. В 1990-х годах типичный цикл выпуска приложений (таких как операционная система Microsoft Windows ) составлял от 12 до 24 месяцев. [9]
В традиционной разработке программного обеспечения в то время разработчики обычно проверяли код один раз в день и запускали «ночную сборку» после того, как весь код был проверен. [10] Если код собирался успешно, они запускали серию модульных тестов и общих функциональных тестов, обычно называемых «дымовыми тестами». Если какой-либо из тестов не удавался, сборка считалась неудачной и ее нужно было немедленно исправить. Если тесты проходили успешно, то сборку можно было развернуть в тестовой системе для дальнейшего тестирования. [11]
С появлением многоуровневых архитектур, начиная с клиент-серверной и переходя к сервис-ориентированной архитектуре , сборка стала намного сложнее, чем просто компиляция и связывание кода. Сборки включали в себя множество других типов действий, таких как применение изменений базы данных, загрузка статического контента из системы управления контентом , настройка компонентов программного обеспечения и развертывание всей или части сборки. [12] : 4
UrbanCode выпустила оригинальную Anthill OS как бесплатный инструмент, предназначенный для управления сборками . [13] : 397–401 [14] : 275–278 Из-за популярности Anthill OS, UrbanCode создал AnthillPro как коммерческий продукт. [12] : 360 UrbanCode выпустила первую коммерческую версию AnthillPro в 2002 году. В отличие от CruiseControl, который в то время был сосредоточен исключительно на предоставлении разработчикам отзывов о состоянии их сборок, AnthillPro был сосредоточен на управлении сборками и использовании результатов сборки одного проекта в качестве зависимости для других проектов. [15]
В дополнение к растущей сложности цикла сборки/выпуска, типичный цикл выпуска для программных проектов продолжает радикально сокращаться. [16] Поскольку гибкие методологии стали более распространенными, темп интеграции и сборки изменился с одного раза в день на каждый раз при изменении кода. Согласно гибкой разработке программного обеспечения , основная строка кода должна быть готова к отправке в любое время; она может быть не полностью функциональной, но она должна быть достаточно качественной, чтобы быть готовой к выпуску. [12] : 49
AnthillPro поддерживает такие методологии [ требуется цитата ] путем мониторинга различных систем управления исходным кодом организации и запуска сборки, когда разработчик обязуется внести изменения. Сборка обеспечивает первый (и обычно самый важный) тест, который проверяет интеграцию. После завершения сборки AnthillPro захватывает продукт сборки для дальнейшего тестирования и развертывания. По мере выполнения дополнительных тестов на сборке команда может обрести большую уверенность в интеграции нового кода.
В 2006 году UrbanCode выпустила третье поколение AnthillPro. [17] Этот выпуск был полностью переписан, что расширило возможности AnthillPro за пределы непрерывной интеграции в автоматизированные развертывания. В отличие от большинства серверов CI, которые были ориентированы на сборку, эта новая версия AnthillPro использовала сборку только в качестве начального теста. После завершения сборки AnthillPro создала двоичные артефакты, которые затем были протестированы, развернуты и продвинуты по жизненному циклу на пути к выпуску в производство. Эта версия AnthillPro включала много новых функций, таких как расширенная отчетность, управление выпусками, улучшенная безопасность и возможность выполнять шаги рабочего процесса на удаленных машинах.
AnthillPro может собирать любые отчеты, созданные в процессе сборки или тестирования, и отображать их на веб-интерфейсе сервера AnthillPro для просмотра разработчиками, тестировщиками или руководством. [18]
AnthillPro разработан для поддержки усилий команды управления релизами. [19] AnthillPro предоставляет аудиторский след, связывающий сборку с ее исходным кодом и с каждым развертыванием и тестом, выполненным для этой сборки. Функция аудита помогает менеджеру по релизам оценить готовность сборки к запуску в производство. [20] AnthillPro поощряет команды использовать аналогичный автоматизированный процесс для производственных развертываний, тем самым снижая риск при развертывании. [21]
AnthillPro поддерживает автоматическое развертывание сборки в настроенной пользователем среде. [22] Администраторы могут устанавливать шлюзы между каждой средой, требуя ручного вмешательства пользователя и предоставляя контрольный журнал. [3] : 255 Безопасность на основе ролей может быть настроена для контроля того, какие роли (и, следовательно, какие пользователи) могут развертывать в какой среде.
Поскольку AnthillPro перешел от сервера непрерывной интеграции к фреймворку автоматизации, способному к сложным развертываниям, [12] : 264–266 UrbanCode начал расширять возможности AnthillPro для интеграции со сторонними инструментами прямо из коробки. AnthillPro версии 3.8, выпущенный в феврале 2012 года, интегрируется с более чем шестьюдесятью [ требуется ссылка ] сторонними продуктами, включая серверы J2EE, базы данных, системы сборки, инфраструктуру и платформу Microsoft. Кроме того, AnthillPro поддерживает внешние плагины, которые расширяют его фреймворк автоматизации для размещения практически любого программного обеспечения, которым можно управлять из командной строки. [23]
Оригинальный Anthill был простым сервером непрерывной интеграции, выпущенным в 2001 году и доступным по сей день. В 2002 году UrbanCode выпустила первую коммерческую версию AnthillPro. В 2006 году UrbanCode выпустила третье поколение AnthillPro, полностью переписанное, в которое была добавлена поддержка распределенных сборок и контроль над жизненным циклом после сборки. [17]
AnthillPro версии 3.6 (выпущенной в 2008 году) расширила набор инструментов до управления жизненным циклом приложений (ALM) [24] с использованием централизованно управляемой автоматизации для сборки, развертывания и тестирования. В этом выпуске добавлена интеграция для многочисленных сторонних решений ALM, таких как репозитории артефактов, SCM, отслеживание проблем, автоматизация тестирования, системы управления изменениями и системы управления проектами. [18] Другие новые функции, поддерживающие эту консолидацию, включают подробный обзор исторических результатов тестирования, гибкую блокировку ресурсов и предварительные сборки. [25]
AnthillPro версии 3.7 (выпущенной в 2009 году) увеличила способность AnthillPro интегрироваться с другими точечными инструментами в непрерывной интеграции, автоматизации сборки и пространстве ALM. Новые функции добавили плагины интеграции для семи наиболее широко используемых инструментов анализа исходного кода. В этом выпуске был представлен новый API плагина, который позволяет пользователям создавать собственные настраиваемые плагины интеграции. [26] В этом выпуске также был представлен инструмент AHP, который позволяет пользователям создавать действия скрипта из командной строки и получать доступ к данным в репозитории AnthillPro; и он представил Agent User Impersonation, который дает администраторам больший контроль над скриптами, запускаемыми агентами. [23]