МуравейникПро
Разработчик(и) | ИБМ |
---|---|
Стабильная версия | 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]
При традиционной разработке программного обеспечения того времени разработчики обычно проверяли код один раз в день и запускали «ночную сборку» после того, как весь код был проверен. [10] Если код был построен успешно, они запускали серию модульных тестов и тестов общих функций, обычно называемых «дымовыми тестами». Если какой-либо из тестов проваливался, сборка считалась неудачной и ее нужно было немедленно исправлять. Если тесты пройдены успешно, сборку можно будет развернуть в тестовой системе для дальнейшего тестирования. [11]
Сборка/интеграция приложений становится более сложной
[ редактировать ]С появлением многоуровневых архитектур, начиная с клиент-серверной и заканчивая сервис-ориентированной архитектурой , сборка стала намного сложнее, чем простая компиляция и компоновка кода. Сборки включали множество других типов действий, таких как внесение изменений в базу данных, загрузка статического контента из системы управления контентом , настройка компонентов программного обеспечения и развертывание всей сборки или ее части. [12] : 4
UrbanCode выпустила оригинальную ОС Anthill как бесплатный инструмент, предназначенный для управления сборками . [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 Tool, который позволяет пользователям создавать действия сценариев из командной строки и получать доступ к данным в репозитории AnthillPro; и было введено олицетворение пользователя агента, которое дает администраторам больший контроль над сценариями, выполняемыми агентами. [23]
Конкуренты
[ редактировать ]Ссылки
[ редактировать ]- ^ Фредрик, Джеффри; Миник, Эрик (2011). «Модель зрелости непрерывной поставки предприятия» (PDF) . УрбанКод. п. 14. Архивировано из оригинала (PDF) 22 февраля 2014 г. Проверено 17 февраля 2012 г.
- ^ Юлиус, Пол (11 сентября 2009 г.). «Культурная зрелость предприятия CI» . Блоги UrbanCode . УрбанКод . Проверено 17 февраля 2012 г.
- ^ Jump up to: а б с д Скромный, Джез; Фарли, Дэвид (2010). Непрерывная доставка: надежные выпуски программного обеспечения посредством автоматизации сборки, тестирования и развертывания (3-е изд.). Эддисон Уэсли. п. 463. ИСБН 978-0-321-60191-9 .
- ^ Веб-сайт Ellis Agência (19 июля 2018 г.). «Настоящее управление жизненным циклом приложений с помощью Urbancode» . Получено 19 июля 2022 г.
- ^ «Платформа UrbanCode DevOps™» . УрбанКод. Архивировано из оригинала 25 февраля 2013 года . Проверено 11 февраля 2013 г.
- ^ «AnthillPro от Urbancode достиг 400-го клиента в самом сильном квартале компании» (пресс-релиз). Кливленд, Огайо: UrbanCode. 7 декабря 2009 года . Проверено 10 февраля 2012 г.
- ^ «IBM приобретает UrbanCode, чтобы помочь компаниям быстро создавать мобильные, облачные, большие данные и социальное программное обеспечение» . www-03.ibm.com . ИБМ . Проверено 6 августа 2014 г.
- ^ «Уход из AnthillPro» . Urbancode.com . Архивировано из оригинала 17 июня 2020 года . Проверено 17 июня 2020 г.
- ^ MSDN (18 января 2007 г.). «PRJ: Microsoft Project для истории версий Windows» . Идентификатор статьи: 98026 — Последнее изменение: 18 января 2007 г. — Редакция: 3.1 . MSDN . Проверено 14 марта 2012 г.
- ^ «Ночные сборки: передовые технологии» . Мозилла . сайт mozilla.org. 1 февраля 2011. Архивировано из оригинала 18 февраля 2012 года . Проверено 1 марта 2012 г.
- ^ «Итерационная деятельность и ночные сборки» . Библиотека MSDN. 7 февраля 2008. Архивировано из оригинала 28 января 2013 года . Проверено 1 марта 2012 г.
- ^ Jump up to: а б с д Дюваль, Пол М.; Матьяс, Стив; Гловер, Эндрю (июнь 2007 г.). Непрерывная интеграция: повышение качества программного обеспечения и снижение рисков . Река Аппер-Сэддл, Нью-Джерси: Аддисон-Уэсли. п. 283 . ISBN 978-0-321-33638-5 .
- ^ Хэтчер, Эрик; Логран, Стив (2003). Разработка Java с помощью Ant: как автоматизировать процессы сборки, тестирования и развертывания . Гринвич, Коннектикут: Мэннинг. стр. 634 . ISBN 1-930110-58-8 .
- ^ Ларман, Крейг (2004). Гибкая и итеративная разработка: Руководство для менеджера . Бостон, Массачусетс: Аддисон-Уэсли. п. 342. ИСБН 0-13-111155-8 .
- ^ Кларк, Майк (1 июля 2004 г.). Прагматическая автоматизация проектов: как создавать, развертывать и отслеживать приложения Java . США: Прагматичная книжная полка. п. 176. ИСБН 978-0-9745140-3-1 .
- ^ Брэдли Холт (8 августа 2011 г.). «Аргументы в пользу циклов быстрого выпуска» . Брэдли-Холт . Проверено 14 марта 2012 г.
- ^ Jump up to: а б Миник, Эрик (26 октября 2006 г.). «Urbancode анонсирует AnthillPro 3.0, сервер автоматизации жизненного цикла» . TheServerSide.com . Проверено 22 февраля 2012 г.
- ^ Jump up to: а б Журнал доктора Добба (27 января 2008 г.). «Urbancode выпускает обновление инструмента непрерывной интеграции» . Доктор Добб . Проверено 14 февраля 2012 г.
- ^ «Управление релизами» . Викикниги . Проверено 10 февраля 2012 г.
- ^ Вайзер, Делла; Курц, Джон (13 марта 2007 г.). «Встряхивания 2007: Управление изменениями и конфигурациями» . Журнал доктора Добба . Проверено 13 февраля 2012 г. [ постоянная мертвая ссылка ]
- ^ Колвилл, Ронни Дж.; Бриттен, Крис; Скотт, Донна (2011). «Крутые поставщики в управлении релизами, 2011» . Гартнер . Гартнер . Проверено 23 февраля 2012 г. [ мертвая ссылка ]
- ↑ Сайко, Майкл (15 сентября 2008 г.). «Использование коммерческого инструмента для автоматизации процесса сборки и развертывания» . СМ Перекресток . Проверено 3 февраля 2012 г.
- ^ Jump up to: а б Фейнман, Джефф (9 октября 2009 г.). «В AnthillPro добавлены функции командной строки» . СД Таймс . Архивировано из оригинала 31 января 2010 года . Проверено 14 февраля 2012 г.
- ^ Рубинштейн, Дэвид (4 ноября 2011 г.). «Исследование показывает, что гибкие процессы широко применяются» . СД Таймс . Проверено 11 февраля 2012 г.
- ^ Журнал доктора Добба (28 октября 2008 г.). «UrbanCode добавляет сборки PreFlight» . Доктор Добб . Проверено 10 февраля 2012 г.
- ^ «Выпущена AnthillPro 3.7» . Гибкий журнал . 5 октября 2009 года . Проверено 14 февраля 2012 г.