Совершенствуем процесс сборки при помощи IBM Rational Build Forge : Часть1. Создаем среду непрерывной сборки и интеграции

Источник: IBM
Ян Лим

Описание:  Узнайте, как реализовать систему управления сборкой, которая будет использовать и расширять имеющиеся в вашей среде автоматизированные технологии. В этом пошаговом учебном руководстве рассказывается о том, как установить и настроить IBM® Rational® Build Forge™ для управления сборками Jakarta Tomcat из исходного кода. Мы интегрируем Build Forge с используемой рабочей группой Tomcat системой управления версиями и создадим среду непрерывной интеграции, в которой Rational Build Forge будет выполнять повторные сборки и развертывания самой актуальной версии Tomcat при каждой фиксации изменений в репозитории Subversion. Инструмент Rational Build Forge стал легендой в смысле быстрого возврата инвестиций. Узнайте, как реализация, описываемая в данном учебном руководстве, способна многократно оправдать ваши инвестиции в имеющиеся скрипты автоматизации сборки. Изучение данной серии из двух статей позволит вам повысить показатели производительности с 0 до 96 bpd (builds per day, сборок в день) за два дня.

ПЕРЕД НАЧАЛОМ РАБОТЫ

В этом учебном руководстве мы установим и настроим инструмент IBM Rational® Build Forge® Мы создадим среду непрерывной интеграции для Tomcat, которая будет запускать процесс сборки при каждой фиксации изменений в репозитории Tomcat Subversion. Изучение данной серии из двух статей позволит вам повысить показатели производительности с 0 до 96 bpd (builds per day, сборок в день) за два дня. В данной статье рассматриваются задачи на первый день работы.

Если вы - разработчик, занимающийся автоматизацией создания сборок, или оператор, предоставляющий инфраструктуру поддержки для создания и развертывания функций, то эта серия статей - то, что вам нужно.

Во 2-й части серии (второй день) мы расскажем о предусмотренном в Build Forge многократном использовании существующих скриптов проекта и о том, как этот инструмент может дополнить элементарный процесс компиляции и пакетирования сборки за счет добавления средств настройки и развертывания.

Цели

Изучив это учебное руководство, вы узнаете:

  • каковы основные концепции Build Forge;
  • как установить и настроить инструмент Rational Forge;
  • как создать объекты Build Forge, которые будут представлять серверы сборки для нашего учебного руководства;
  • как сконфигурировать для запуска проект Hello World.

Необходимые условия

Предполагается, что вы имеете представление о сборке Java-приложений. Среда Build Forge не зависит от конкретного языка программирования, но проект Tomcat написан на языке программирования Java. Опыт работы с Apache Ant и Subversion полезен, но не обязателен.

Требования к системе

Для выполнения шагов, описанных в данном учебном руководстве, у вас должен быть доступ к перечисленным ниже инструментам, которые можно получить, воспользовавшись контактной информацией в описании продукта Rational Build Forge:

IBM Rational Build Forge Console V7.0.1

Сервер Build Forge

IBM Rational Build Forge, Agent V7.0.1

Для управления удаленным сервером сборки и развертывания в процессе сборки

IBM Rational License Server V7.0 Windows

Предоставляет лицензии на Build Forge
Следующие лицензии:
  • Плавающая ознакомительная лицензия на Build Forge Enterprise Edition Server
  • Плавающая ознакомительная пользовательская лицензия на Build Forge Enterprise Edition (10 копий)
  • Ознакомительная лицензия на Build Forge Enterprise Edition Adapter Toolkit
 

MySQL 5.0.45

База данных для хранения параметров конфигурации и журналов Build Forge

ВВЕДЕНИЕ

В данном учебном руководстве Tomcat используется в качестве проекта для демонстрации многократного использования реализацией Rational Build Forge имеющихся скриптов. В данном случае Tomcat является аналогом любого проекта, который вы могли бы включить в систему управления сборками, если нет возможности или желания изменять сборочные скрипты. В примере в данном учебном руководстве Tomcat символизирует любой внешний или внутренний проект, связанный с вашими проектами.

Связанные между собой проекты необходимо развертывать в интегрированной среде, чтобы можно было протестировать их совместно. Непрерывный запуск сборок в среде интеграции при изменении базового кода проекта (непрерывная интеграция) с последующим выполнением автоматизированных тестов - это оптимальный метод, позволяющий гарантировать сохранение работоспособности системных точек интеграции.

Реализуя управление сборками, мы стремимся избежать влияния на рабочие потоки текущей сборки или ограничения возможности рационализации процесса в будущем. Использование проектов с открытым исходным кодом является предпочтительным. Систему управления сборками следует оценивать по следующим показателям: она должна помочь организации добиться непрерывной интеграции, использовать настраиваемые уведомления, безопасный доступ, планирование и генерацию отчетов без внесения изменений в процессы разработки. Проект с открытым исходным кодом покажет способность Rational Build Forge автоматизировать эти основные задачи.

До и после
Before and after 

УСТАНАВЛИВАЕМ И НАСТРАИВАЕМ RATIONAL BUILD FORGE

В этом разделе рассказывается о том, как установить необходимые компоненты сервера в соответствии с приведенной ниже схемой.

Section 2 goal

В данном учебном руководстве все серверные процессы, в том числе процессы базы данных, выполняются на одной машине.

Устанавливаем Rational License Server v7.0 Windows

Консоль управления Build Forge Management Console при запуске проверяет наличие действующей лицензии. Поэтому необходимо установить сервер лицензирования Rational License Server и импортировать ознакомительную лицензию до установки консоли управления Build Forge Management Console.

  1. Распакуйте установочные файлы.
  2. Запустите программу установки setup.exe. Установите флажок Install Rational License Server.
  3. Согласитесь с остальными параметрами, выбранными для сервера лицензирования по умолчанию. По завершении установки нажмите кнопку Finish.

Импортируйте ознакомительные лицензии Build Forge на сервер лицензирования.

  1. Запустите компонент License Key Administrator, выбрав из меню All Programs (Все программы) команды > IBM Rational > IBM Rational License Key Administrator.
  2. Выберите опцию Import a Rational License File и нажмите кнопку Next.
  3. Перейдите к папке, содержащей файл ключа ознакомительной лицензии.
  4. Откройте этот файл и нажмите кнопку Import.
  5. Убедитесь, что лицензия является действующей, и нажмите кнопку Import.
  6. Подтвердите перезапуск сервера лицензирования.

Установите среду MySQL 5.0.45

Консоль управления Build Forge Management Console будет хранить информацию о конфигурации и файлы журнала сборки в базе данных. Для изучения нашего учебного руководства установите MySQL версии 5.0.45.

  1. Распакуйте установочный файл и запустите его.
  2. В соответствующем окне программы установки выберите полную (Complete) установку.
  3. Нажмите кнопку Install.
  4. Нажимайте кнопку Next, пока не увидите окно, показанное на следующем рисунке. Установите флажок Configure the MySQL Server now, а затем нажмите кнопку Finish.
  5. Нажмите кнопку Next, выберите вариант Standard Configuration и нажмите кнопку Next.
  6. Выберите следующие опции (или установите соответствующие флажки):
    • Install As Windows Service,
    • MySQL в поле Service Name,
    • Launch the MySQL Server Automatically,
    • Include Bin Directory in Windows PATH,
    а затем нажмите кнопку Next.
  7. Введите пароль учетной записи root, нажмите кнопку Next, а затем кнопку Execute.
  8. Нажмите Finish.

Создаем экземпляр базы данных MySQL для хранения данных Build Forge

Нам нужно создать в MySQL базу данных для хранения данных Build Forge. Кроме того, необходимо создать пользователя MySQL для установления подключения к Build Forge.

  1. Откройте окно командной строки и введите в нем команды mysql -uroot -p<пароль, указанный в процессе инсталляции>
  2. После приглашения mysql введите команду create database build;
  3. После приглашения mysql введите команду grant all on build.* to build identified by 'build';
  4. После приглашения mysql введите команду quit

Устанавливаем консоль управления Build Forge Management Console

Сервер лицензирования готов к использованию действующей лицензии Build Forge, база данных доступна и настроена; теперь можно перейти к установке консоли управления Build Forge Management Console.

  1. Распакуйте установочный файл и запустите его.
  2. Нажмите кнопку Next в панели Welcome мастера установки.
  3. Выберите папку, в которую будет установлена программа.
  4. В поле License Host укажите localhost, а в поле Http Server Port оставьте значение по умолчанию за исключением тех случаев, когда ваша система в данный момент использует этот порт (например, для другого Web-сервера).
  5. Введите MC1 в поле Location Name. Выберите опцию Connect to existing database и укажите следующие параметры:
    • в поле DB Name: build;
    • в поле DB Type: MySQL;
    • в поле DB Host: localhost;
    • в поле Username: build
    • в поле Password: build.
    Management Console
  6. Нажмите кнопку Install.

    По завершении установки консоль управления Build Forge Management Console будет запущена в фоновом режиме как служба. После запуска и обнаружения пустой базы данных MySQL она приступит к созданию табличной структуры. Этот процесс может занять примерно минуту. Прежде чем продолжить работу, дождитесь перехода системы в режим ожидания.

  7. После остановки службы Build Forge (bfengine) скопируйте файл libmySQL.dll в каталог BuildForge \ Apache. В окне командной строки введите net stop bfengine
  8. Введите команду copy "c:\Program Files\MySQL\MySQL Server 5.0\bin\libmySQL.dll" "c:\Program Files\BuildForge\Apache\bin"
  9. Перезапустите службу Build Forge командой net start bfengine
  10. Закройте окно командной строки.
  11. Запустите консоль управления Management Console двойным щелчком на значке на рабочем столе.
  12. Введите в поле имя пользователя (User name) root и пароль (Password) root, а затем нажмите кнопку Login.
  13. Перед вами должна открыться домашняя страница консоли управления Management Console для пользователя root.
    Management Console

Устанавливаем агент Rational Build Forge

Агенты Build Forge Agent можно установить на любой системе, которая будет использоваться в процессах сборки, развертывания и тестирования под управлением Build Forge. Для изучения данного учебного руководства установите агент на той же системе, на которой установлена консоль управления Management Console. Агентская система может (и обычно бывает) удаленной.

  1. Распакуйте установочный файл и запустите файл win-bfagent-7.0.1.211.exe.
  2. В панелях мастера установки согласитесь со всеми параметрами по умолчанию.
  3. Когда откроется соответствующее окно, нажмите кнопку Finish.

На этом установка Rational License Server, MySQL, консоли управления Rational Build Forge Management Console и агента Rational Build Forge Agent завершена. В следующем разделе мы расскажем о том, как настроить конфигурацию Build Forge и создать процесс сборки.

ПЕРВЫЕ ШАГИ - HELLO WORLD

В этом разделе мы создадим объекты Build Forge, которые будут представлять серверы сборки для нашего учебного руководства, а затем сконфигурируем проект Hello World, чтобы его можно было выполнить. Полное описание всех опций, доступных на этом этапе, можно найти в онлайновой справке по Rational Build Forge.

Hello World

Настраиваем управление Build Forge сервером сборки через установленный агент

При изучении раздела Установка и настройка Rational Build Forge мы установили агент Build Forge. Первое, что необходимо сделать - это настроить Management Console на взаимодействие с процессом агента. Эта конфигурация будет использовать функции из навигационной панели Servers в панели управления Management console.

Hello World

Создаем объект Server authentication

Объект содержит учетные данные, которые консоль управления Management Console использует для входа в систему сервера, на котором выполняется компонент Agent. Используемая учетная запись должна иметь привилегии, позволяющие выполнять задачи в процессе сборки.

  1. Нажмите левой кнопкой мыши на элементе Server Auth в категории Servers.
  2. Введите localhost auth в поле Name, а затем укажите параметры входа в систему для учетной записи Administrator (или другой учетной записи, имеющей соответствующие привилегии).
  3. Нажмите кнопку Save Server Authentication.

    Hello World

Создаем объект Selector

Build Forge предоставляет эффективные средства для динамического выбора сервера во время сборки. В этом учебном руководстве мы не будем описывать данную функцию, поэтому просто жестко ассоциируем сборки с конкретным сервером. Сначала необходимо создать объект Selector, который будет выбирать сервер по указанному имени.

  1. Нажмите левой кнопкой мыши на элементе Selectors в категории Servers.
  2. Введите build selector в поле Name.
  3. Нажмите кнопку Save.

    Hello World

Указываем критерии для объекта Selector

Build Forge позволяет использовать несколько критериев, например, свободное дисковое пространство, число ЦПУ и т.д. В данном учебном руководстве используются следующие параметры:

  1. Имя по умолчанию BF_NAME.
  2. Оператор == .
  3. Введите build_server в поле Value.
  4. Yes в поле Required.
  5. Нажмите кнопку Save.

    Hello World

Создаем объект Server

Объект Server хранит информацию о подключении (host) и ссылку на объект Server Authentication, который мы создали в разделе Создаем объект Server authentication. На сервере сборки рабочие каталоги для сборок задаются путем ввода значения Path в этой панели. Build Forge также позволяет ассоциировать сервер со специфической для него переменной окружения.

  1. Нажмите левой кнопкой мыши на элементе Servers.
  2. Введите build_server в поле Name, c:\build в поле Path и выберите из списка localhost auth в поле Authentication. В остальных полях оставьте значения по умолчанию.
  3. Нажмите кнопку Save.

    Hello World

Создаем каталог для сборки

Build Forge не сможет вести запись в каталоге, указанном в поле path, пока этот каталог не будет создан. В окне командной строки введите md c:\build.

Hello World

Тестируем подключение к агенту

Чтобы протестировать подключение к агенту:

  1. Выделите build_server.
  2. Нажмите кнопку Test Connection.

    Hello World

На экран будет выведена вкладка Test Results.. После того как подключение консоли управления Management Console к агенту будет установлено и протестировано, на вкладке будут отображены результаты тестирования, а индикатор на значке сервера станет зеленым.

Hello World

Создаем и запускаем проект Hello World

Теперь, когда консоль управления Management Console может управлять сборками при помощи агента, можно создать проект Hello World, который будет использовать агент для вывода на экран какого-либо значения. Проект Build Forge включает несколько шагов, представляющих команды, которые выполняют процесс сборки.

  1. Чтобы создать проект сборки, его надо сконфигурировать, выбрав имя и объект Selector. Описание остальных полей конфигурации проекта можно найти в онлайновой справке:
    • нажмите левой кнопкой мыши на категории Projects;
    • введите в поле Name Hello World и убедитесь, что объект Selector по умолчанию указан в поле build selector;
    • нажмите кнопку Save Project.

      Hello World

  2. Откройте проект, нажав и отпустив левую кнопку мыши на Hello World в списке проектов.
  3. В проекте для выполнения процесса сборки используются настраиваемые шаги. На вкладке Details создайте отдельный шаг, который будет возвращать и выводить на экран значение:
    • введите Echo Value в поле Name;
    • введите команду echo Hello World в секции Command;
    • в остальных полях пока оставьте значения по умолчанию;
    • нажмите кнопку Save Step.

      Hello World

  4. Запустите проект на выполнение, нажав кнопку Start Project.
  5. Оставьте показанные на рисунке значения по умолчанию и нажмите кнопку Execute.
  6. На экран будет выведено окно выполнения сборки, демонстрирующее ход выполнения всех шагов проекта по мере их выполнения. Кроме того, отображается также результат каждого шага.
  7. Нажмите левой кнопкой мыши на имени шага Echo value, чтобы просмотреть информацию в журнале о выполнении этого шага.
  8. Прокрутите вывод до конца. Вы увидите ожидаемое сообщение Hello World .

    Hello World

ЗАКЛЮЧЕНИЕ

Мы уже сделали довольно много. Консоль управления Build Forge Management запущена и подключена к "удаленному" серверу. Мы изучили ряд базовых концепций Build Forge и познакомились с архитектурой и базовой конфигурацией Build Forge. Эта архитектура может управлять стандартным процессом сборки на удаленном сервере.

Теперь отдохните немного и подготовьтесь ко второму дню: мы используем все, что создали до сих пор, чтобы приступить к созданию реального проекта Jakarta Tomcat. Во 2-й части рассказывается о предусмотренной в Build Forge функции многократного использования имеющихся скриптов проекта. Кроме того, в ней рассказывается о том, каким образом Build Forge расширяет стандартный процесс компиляции и сборки за счет добавления средств пользовательской настройки и развертывания.


Страница сайта http://www.interface.ru
Оригинал находится по адресу http://www.interface.ru/home.asp?artId=25735