Разработчики) | IBM |
---|---|
Стабильный выпуск | 5.0.0 / сентябрь 2013 г. |
Написано в | Ява |
Операционная система | Кроссплатформенность |
Тип | Непрерывная интеграция , Непрерывная доставка , Управление жизненным циклом приложений (ALM) , Автоматизация выпуска приложений , DevOps |
Лицензия | Собственный |
Веб-сайт | разработчик |
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.
В организациях по разработке программного обеспечения, которые используют управление исходной конфигурацией (SCM) , разработчики сначала анализируют и удаляют код из «основной строки кода», которая является основной частью кода. Затем разработчики изменяют удаленный код и встраивают измененный код обратно в основную строку кода, что называется «регистрацией». После того, как код возвращен, весь проект можно построить и протестировать.
Если в процессе сборки не возникает ошибок, сборка развертывается в тестовой среде и проходит модульное тестирование , чтобы убедиться, что качество проекта не ухудшилось по сравнению с предыдущей сборкой. Этот процесс «сборка, развертывание, модульное тестирование» для каждого случая зарегистрированного кода называется непрерывной интеграцией (CI) . [ нужна ссылка ]
Первоначальный программный инструмент Anthill, выпущенный в 2001 году, представлял собой простой сервер непрерывной интеграции и доступен по сей день. Наряду с такими инструментами, как CruiseControl , Anthill способствовала созданию стандартных инструментов для практики непрерывной интеграции. [3]
Первоначально термин «сборка» относился к процессу компиляции и компоновки исходного кода в исполняемый код. Как правило, эти исполняемые коды представляют собой автономные приложения, такие как Microsoft Word или Adobe Photoshop. В 1990-е годы типичный цикл выпуска приложений (таких как операционная система Microsoft Windows ) составлял от 12 до 24 месяцев. [9]
При традиционной разработке программного обеспечения в то время разработчики обычно проверяли код один раз в день и запускали «ночную сборку» после того, как весь код был проверен . тесты и тесты общих функций, обычно называемые «дымовыми тестами». Если какой-либо из тестов терпел неудачу, сборка считалась неудачной и должна была быть немедленно исправлена. Если тесты пройдены, сборка может быть развернута в тестовой системе для дальнейшего тестирования. [11]
С появлением многоуровневых архитектур, начиная с клиент-серверной и заканчивая сервис-ориентированной архитектурой , сборка стала намного сложнее, чем просто компиляция и компоновка кода. Сборки включали множество других типов действий, таких как внесение изменений в базу данных, загрузка статического контента из системы управления контентом , настройка программных компонентов и развертывание всей сборки или ее части. [12] : 4
UrbanCode выпустил оригинальную ОС Anthill в качестве бесплатного инструмента, предназначенного для управления сборкой . [13] : 397–401 [14] : 275–278 Из-за популярности ОС Anthill компания 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]
Версия 3.6 AnthillPro (выпущенная в 2008 г.) расширила набор инструментов для управления жизненным циклом приложений (ALM) [24] с использованием централизованно управляемой автоматизации для сборки, развертывания и тестирования. В этом выпуске добавлена интеграция для множества точечных решений ALM сторонних производителей, таких как репозитории артефактов, SCM, отслеживание проблем, автоматизация тестирования, системы управления изменениями и системы управления проектами. [18] Другие новые функции, поддерживающие эту консолидацию, включали подробный обзор исторических результатов тестирования, гибкую блокировку ресурсов и предварительные сборки. [25]
Версия AnthillPro 3.7 (выпущенная в 2009 г.) расширила возможности AnthillPro по интеграции с другими точечными инструментами в области непрерывной интеграции, автоматизации сборки и пространства ALM. Новые функции добавили плагины интеграции для семи наиболее широко используемых инструментов анализа исходного кода. В этом выпуске представлен новый API подключаемых модулей, который позволяет пользователям создавать собственные настраиваемые подключаемые модули интеграции. [26] В этом выпуске также представлен инструмент AHP, который позволяет пользователям создавать действия сценариев из командной строки и получать доступ к данным в репозитории AnthillPro; и он представил олицетворение пользователя агента, что дает администраторам больший контроль над сценариями, запускаемыми агентами. [23]