Этапы выпуска наследуются из жизненного цикла. Сегменты и задачи этапа наследуются из плана развертывания. При создании развертывания выбирается план развертывания из числа планов, связанных с выпуском. С учетом выбранного плана определяются сегменты и задачи, доступные для развертывания. Сегменты и задачи можно создавать и удалять после запуска развертывания. Изменения, которые вносятся в план в ходе развертывания, становятся частью самого плана. Кроме того, над планом развертывания можно работать за пределами любого развертывания.
Как правило, планы развертывания создаются на основе существующих планов, однако можно начать с пустого плана. Создаваемый план развертывания можно связать с выпуском даже в том случае, если он создается на основе существующего плана. Каждая комбинация выпуска и плана является уникальной. При создании развертывания для выпуска доступны планы развертывания, связанные с выпуском. Планы развертывания, связанные с другими выпусками, недоступны.
Изменения, которые вносятся в план в ходе развертывания, становятся частью плана. Изменения будут доступны при следующем обращении к комбинации выпуска и плана. Например, если запустить развертывание с комбинацией Plan1-ReleaseA, то изменения, внесенные в Plan1, будут доступны при следующем создании развертывания с этой комбинацией выпуска и плана. Изменения, которые вносятся в план, не влияют на другие операции развертывания, которые выполняются в момент внесения изменений.
План из одного выпуска можно прикрепить к другому выпуску. Прикрепление плана предусматривает его переименование с образованием уникальной комбинации плана и выпуска. Например, если прикрепить план Plan1 к другому выпуску, то новый план будет содержать все изменения, которые были внесены в план Plan1 до его прикрепления. Последующие изменения, которые вносятся в план Plan1, не влияют на новый план. Кроме того, изменения, которые вносятся в новый план, не влияют на план Plan1.
IBM® UrbanCode Release предлагает план по умолчанию, который можно изменить и скопировать. Простой план по умолчанию автоматически прикрепляется к каждому выпуску.
Сегмент содержит задачи, которые описывают выпуск. Как правило, сегмент содержит связанные бизнес-задачи. Все задачи в сегменте должны быть обработаны для завершения сегмента. План развертывания может состоять из любого количества сегментов. Сегмент может содержать произвольное число задач. Число сегментов и их состав определяются пользователем.
Задачи в сегменте можно запустить только после запуска самого сегмента. Сегменту можно присвоить исполнителя, чтобы разрешить запуск сегмента только пользователям с этой ролью. После запуска развертывания сегмент можно запустить в любой момент, если для него не указаны предварительно необходимые сегменты. Сегмент с предварительными требованиями можно запустить только после успешного выполнения всех предварительных требований.
Оценка времени, применяемая для определения общего состояния развертывания, вычисляется для каждого сегмента. Одновременно можно запустить произвольное число сегментов.
Задача представляет бизнес-операцию с начальной и конечной точками и измеряемой продолжительностью. Продолжительность оценивается при создании задачи; полученное значение применяется при вычислении состояния выполнения сегмента. Как в случае сегментов, задаче можно присвоить роль исполнителя.
Задача может быть автоматизированной или неавтоматизированной. Неавтоматизированная задача может представлять операцию, связанную с выпуском, такую как отключение сервера. Автоматизированная задача - это процесс приложения, который импортируется из IBM UrbanCode Deploy. После запуска автоматизированной задачи создаются комментарии в ходе взаимодействия задачи с IBM UrbanCode Deploy. Дополнительная информация об интеграции с IBM UrbanCode Deploy приведена в разделе Настройка провайдеров интеграции.
При создании сегмента выбирается режим выполнения задач: последовательный или параллельный. Выбранный вариант определяет способ вычисления продолжительности сегмента. В параллельном режиме предполагается, что все задачи запускаются вместе с сегментом, а продолжительность соответствует самой длинной задаче. В последовательном режиме задачи также запускаются вместе с сегментом, однако продолжительность сегмента представляет собой время выполнения всех задач. Можно указать параметр Принудительное последовательное выполнение, который указывает, что вместе с сегментом запускается только первая задача и все остальные задачи выполняются последовательно.