Apache Continuum
Последнее изменение этой страницы: 20:39, 29 ноября 2016.
Разработчик | {{#property:p112}} |
---|
Apache Continuum - это сервер непрерывной интеграции, направленный на внедрение в крупные организации и поддерживающий такие возможности, как автоматическая сборка проектов, управление релизами, обладающий безопасностью, основанной на ролях и обеспечивающий интеграцию с популярными средствами сборки проектов и систем контроля и управления исходным кодом. Имеется ли у вас централизованная команда по сборке проектов или вы хотите возложить контроль над релизами в руки разработчиков, то Continuum поможет вам улучшить качество сборки проектов и управления релизами.
Содержание
Обзор
Apache Continuum, являющийся партнером Apache Maven[1], - это кросс-платформенный сервер непрерывной индикации и сборки, написанный на языке программирования Java. Continuum выполняет сборку по настраиваемому графику[2][3]. Также как и CruiseControl[4], Continuum посылает уведомления разработчикам об успешной или неудачной сборке, сообщая о необходимости решить возникшую проблему.
Apache Continuum разработан Apache Software Foundation[5]. Последней стабильной мажорной версией является 1.4.2, опубликованная в июне 2014 года.[6]
Непрерывная интеграция
Непрерывная интеграция (CI, англ. Continuous Integration) — это практика разработки программного обеспечения, которая заключается в выполнении частых автоматизированных сборок проекта для скорейшего выявления и решения интеграционных проблем. В обычном проекте, где над разными частями системы разработчики трудятся независимо, стадия интеграции является заключительной. Она может непредсказуемо задержать окончание работ. Переход к непрерывной интеграции позволяет снизить трудоёмкость интеграции и сделать её более предсказуемой за счет наиболее раннего обнаружения и устранения ошибок и противоречий. Термин непрерывная интеграция впервые придумал Grady Booch в 1991 году[7]
Непрерывная интеграция является одним из основных приёмов экстремального программирования.
Преимущества
- проблемы интеграции выявляются и исправляются быстро, что оказывается дешевле;
- немедленный прогон модульных тестов для свежих изменений;
- постоянное наличие текущей стабильной версии вместе с продуктами сборок — для тестирования, демонстрации, и т. п.
- немедленный эффект от неполного или неработающего кода приучает разработчиков к работе в итеративном режиме с более коротким циклом.
Недостатки
- затраты на поддержку работы непрерывной интеграции;
- потенциальная необходимость в выделенном сервере под нужды непрерывной интеграции;
- немедленный эффект от неполного или неработающего кода отучает разработчиков от выполнения периодических резервных включений кода в репозиторий.
Особенности
Continuum предоставляет разработчикам следующие особенности и черты:
- Простая установка: Просто загрузите последнюю стабильную версию проекта и запустите для развертывания рабочего окружения[8];
- Простая настройка: Сборка проектов вручную через веб-интерфейс или по расписанию;
- Поддержка популярных СУВ: CVS, Subversion, Git, Clearcase, Perforce, Starteam, Visual Source Safe, CM Synergy, Bazaar, Mercurial;
- Поддержка установки изменений: Для каждой сборки проекта Continuum выводит все изменения для СУВ (авторы коммитов, лог коммитов, измененные файлы);
- Уведомления: Электронная почта, Jabber и Google Talk, MSN, IRC поддерживаются в качестве средств уведомлений для разработчиков;
- Поддержка утилит сборок: Поддерживаются Maven, Ant and shell типы сборок;
- Внешняя интеграция: Возможность интеграции внешних средств с Continuum через XMLRPC API[9];
- Типы сборок: Ручная, по-расписанию;
- Шаблоны сборок: Пользователи могут определят шаблоны по умолчанию для использования в своих проектах;
- Очередь сборок: Пользователи могут видеть все проекты в виде очереди с возможностью прервать выполнение текущей сборки;
- Распределенные сборки: Проекты можно распределить по разным узлам и хостам сети для удаленного доступа;
- Параллельные сборки: Проекты можно собирать параллельно, используя конкурентные очереди.
Быстрый старт
Первичная настройка Continuum очень проста. Вначале его нужно установить:
svn co http://svn.apache.org/repos/asf/continuum/all continuum-all
cd /path/to/continuum-all/parent
mvn install
cd /path/to/continuum-all/continuum
mvn install
После успешной установки вы найдете дистрибутивы Continuum в continuum-jetty/target и файл WAR в continuum-webapp/target.
После распаковки дистрибутивов, запустите следующую команду из рабочего каталога:
continuum console
Continuum будет запущен из командной строки. Для выхода нижмите Дополнительные инструкции можно найти в официальном руководстве[10].
Когда вы впервые запускаете Continuum (без существующей базы данных), необходимо создать профиль администратора и провести первичную настройку[11].
После создания профиля администратора можно залогиниться под этим профилем и просмотреть возможные настройки.
Использование настроек по-умолчанию достаточно для нормальной работы сервера, поэтому можно сохранить конфигурацию. В дальнейшем можно обратиться к этому окну настроек, если необходимо, например, включить распределенные сборки.
Следующие шаги
После запуска сервера может потребоваться выполнение следующих действий:
- Создать пользователей через меню Users, поэтому необязательно постоянно использовать профиль администратора для ежедневных нужд;
- Добавить проекты в очередь сборки[12];
- Настроить Continuum для работы с распределенными сборками;
- Настроить установленное ПО и переменные окружения так, как лучше использовать конкретно в вашем проекте.
Установка на Windows
Для установки для Windows вам необходимо будет скачать JDK и скачать дистрибутив Apache Continuum. В первую очередь нужно установить JDK. Подробную инструкцию можно найти здесь.
После этого необходимо в консоли указать путь на continuum.bat и запустить установку. То есть команда установки будет иметь следующий вид
C:<местонахождение папки>\<название дистрибутива>\bin\continuum.bat console
Например
C:\soft\apache\apache-continuum-1.4.0\bin\continuum.bat console
Обычно в процессе установки мы будем видеть это
wrapper | --> Wrapper Started as Console wrapper | Launching a JVM... jvm 1 | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org jvm 1 | Copyright 1999-2006 Tanuki Software, Inc. All Rights Reserved. jvm 1 | jvm 1 | 2011-11-29 17:09:52.010::INFO: Logging to STDERR via org.mortbay.log.StdErrLog jvm 1 | 2011-11-29 17:09:52.139::WARN: Deprecated configuration used for ./apps jvm 1 | 2011-11-29 17:09:52.182::INFO: jetty-6.1.19 jvm 1 | 2011-11-29 17:09:52.744::INFO: No Transaction manager found - if your webapp requires one, please configure one. jvm 1 | 2011-11-29 17:09:53.056:/continuum:INFO: Initializing Spring root WebApplicationContext jvm 1 | 2011-11-29 17:10:06.112::INFO: Opened C:\soft\apache\continuum-1.4.0\logs\2011_11_29.request.log jvm 1 | 2011-11-29 17:10:06.149::INFO: Started SelectChannelConnector@0.0.0.0:8090 jvm 1 | 2011-11-29 17:30:35.820::INFO: seeing JVM BUG(s) - cancelling interestOps==0
Обратите внимание на предпоследнюю строку, а именно на SelectChannelConnector@0.0.0.0:8090
. Последние 4 цифры- порт вашего сервера.
После этого можно входить на сервер через:
https://localhost:<номер порта>
То есть в случае описанном выше выход будет производиться по следующей ссылке:
Ссылки
- ↑ https://maven.apache.org Apache Maven
- ↑ Brett Porter, Maria Odea Ching. "Apache Continuum: Ensuring the Health of your Source Code". Packt. Retrieved 13 February 2014.
- ↑ Smart, John Ferguson. "Continuous Integration with Continuum". Java.net. Retrieved 13 February 2014.
- ↑ http://cruisecontrol.sourceforge.net CruiseControl
- ↑ https://www.apache.org Apache
- ↑ https://continuum.apache.org/docs/1.4.2/release-notes.html Release notes
- ↑ Booch, Grady (1991). Object Oriented Design: With Applications. Benjamin Cummings. p. 209. ISBN 9780805300918. Retrieved 2014-08-18.
- ↑ https://continuum.apache.org/docs/1.4.2/installation/installation.html
- ↑ https://continuum.apache.org/docs/1.4.2/developer_guides/xmlrpc.html
- ↑ https://continuum.apache.org/docs/1.4.2/installation/index.html
- ↑ https://continuum.apache.org/docs/1.4.2/administrator_guides/configuration.html
- ↑ https://continuum.apache.org/docs/1.4.2/user_guides/managing_project/addProject.html
ISSN 2542-0356
Следуй за Полисом
Оставайся в курсе последних событий
Лицензия
Если не указано иное, содержание этой страницы доступно по лицензии Creative Commons «Attribution-NonCommercial-NoDerivatives» 4.0, а примеры кода – по лицензии Apache 2.0. Подробнее см. Условия использования.