AnthillPro

Сервер непрерывной интеграции
AnthillPro
Разработчик(и)ИБМ
Стабильный релиз
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]

Конкуренты

Ссылки

  1. ^ Фредрик, Джеффри; Миник, Эрик (2011). "Enterprise Continuous Delivery Maturity Model" (PDF) . UrbanCode. стр. 14. Архивировано из оригинала (PDF) 22-02-2014 . Получено 17 февраля 2012 .
  2. ^ Джулиус, Пол (11 сентября 2009 г.). «Культурная зрелость корпоративного CI». Блоги UrbanCode . UrbanCode . Получено 17 февраля 2012 г. .
  3. ^ abcd Хамбл, Джез; Фарли, Дэвид (2010). Непрерывная поставка: надежные выпуски программного обеспечения с помощью автоматизации сборки, тестирования и развертывания (3-е изд.). Эддисон Уэсли. стр. 463. ISBN 978-0-321-60191-9.
  4. ^ Ellis Agência Web (19 июля 2018 г.). «True Application Lifecycle Management With Urbancode» Получено 19 июля 2022 г.
  5. ^ "UrbanCode DevOps platform™". UrbanCode. Архивировано из оригинала 25 февраля 2013 г. Получено 11 февраля 2013 г.
  6. ^ "AnthillPro от Urbancode достигла 400-го клиента в самом успешном квартале компании" (пресс-релиз). Кливленд, Огайо: UrbanCode. 7 декабря 2009 г. Получено 10 февраля 2012 г.
  7. ^ "IBM приобретает UrbanCode, чтобы помочь предприятиям быстро поставлять мобильное, облачное, большое количество данных и социальное программное обеспечение". www-03.ibm.com . IBM. Архивировано из оригинала 23 апреля 2013 г. . Получено 6 августа 2014 г. .
  8. ^ "Отставка AnthillPro". Urbancode.com . Архивировано из оригинала 17 июня 2020 г. . Получено 17 июня 2020 г. .
  9. ^ MSDN (18 января 2007 г.). "PRJ: История версий Microsoft Project для Windows". Идентификатор статьи: 98026 - Последний просмотр: 18 января 2007 г. - Версия: 3.1 . MSDN . Получено 14 марта 2012 г. .
  10. ^ "Nightly Builds: the cutting edge". mozilla . mozilla.org. 1 февраля 2011 г. Архивировано из оригинала 18 февраля 2012 г. Получено 1 марта 2012 г.
  11. ^ "Iteration Activities Rolling and Nightly Builds". Библиотека MSDN. 7 февраля 2008 г. Архивировано из оригинала 28 января 2013 г. Получено 1 марта 2012 г.
  12. ^ abcd Дюваль, Пол М.; Матьяс, Стив; Гловер, Эндрю (июнь 2007 г.). Непрерывная интеграция: улучшение качества программного обеспечения и снижение риска . Upper Saddle River, Нью-Джерси: Addison-Wesley. стр. 283. ISBN 978-0-321-33638-5.
  13. ^ Хэтчер, Эрик; Логран, Стив (2003). Разработка Java с Ant: Как автоматизировать процессы сборки, тестирования и развертывания . Гринвич, Коннектикут: Manning. стр. 634. ISBN 1-930110-58-8.
  14. ^ Ларман, Крейг (2004). Agile & Iterative Development: A Managers Guide . Бостон, Массачусетс: Addison-Wesley. стр. 342. ISBN 0-13-111155-8.
  15. ^ Кларк, Майк (1 июля 2004 г.). Pragmatic Project Automation: How to Build, Deploy, and Monitor Java Applications . США: Pragmatic Bookshelf. стр. 176. ISBN 978-0-9745140-3-1.
  16. ^ Брэдли Холт (8 августа 2011 г.). «The Case For Rapid Release Cycles». Брэдли-Холт . Получено 14 марта 2012 г.
  17. ^ ab Minick, Eric (26 октября 2006 г.). "Urbancode анонсирует AnthillPro 3.0, сервер автоматизации жизненного цикла". TheServerSide.com . Получено 22 февраля 2012 г. .
  18. ^ ab Dr. Dobb's Journal (27 января 2008 г.). "Urbancode выпускает обновление инструмента непрерывной интеграции". Dr. Dobb's . Получено 14 февраля 2012 г. .
  19. ^ «Управление выпусками». Викикниги . Проверено 10 февраля 2012 г.
  20. ^ Wyser, Della; Kurz, Jon (13 марта 2007 г.). "Jolts 2007: Change and Configuration Management". Журнал доктора Добба . Получено 13 февраля 2012 г.[ постоянная мертвая ссылка ‍ ]
  21. ^ Колвилл, Ронни Дж.; Бриттен, Крис; Скотт, Донна (2011). «Крутые поставщики в управлении релизами, 2011». Gartner . Gartner . Получено 23 февраля 2012 г. .[ мертвая ссылка ‍ ]
  22. ^ Sayko, Michael (15 сентября 2008 г.). «Использование коммерческого инструмента для автоматизации процесса сборки и развертывания». CM Crossroads . Получено 3 февраля 2012 г.
  23. ^ ab Feinman, Jeff (9 октября 2009 г.). "В AnthillPro добавлены функции командной строки". SD Times . Архивировано из оригинала 31 января 2010 г. Получено 14 февраля 2012 г.
  24. ^ Рубинштейн, Дэвид (4 ноября 2011 г.). «Исследование показывает, что гибкие процессы широко применяются». SD Times . Получено 11 февраля 2012 г.
  25. ^ Журнал доктора Добба (28 октября 2008 г.). "UrbanCode Adds PreFlight Builds". Доктор Добб . Получено 10 февраля 2012 г.
  26. ^ "AnthillPro 3.7 Released". Agile Journal . 5 октября 2009 г. Получено 14 февраля 2012 г.
  • Официальный сайт UrbanCode
Взято с "https://en.wikipedia.org/w/index.php?title=AnthillPro&oldid=1263306035"