Я собрал набор универсальных сценариев развертывания, которые отлично работают для большинства наших вещей.Однако мы только что представили наш самый крупный проект для установки, и теперь мы находим, что времена слишком разнообразны и длинны для нашего вкуса.
Размер проекта в его нынешнем виде составляет 33 226 файлов при размере 400 МБ плюс,Время в настоящее время занимает от 13 минут до 55 минут (время последнего развертывания), в зависимости от определенных решений, принятых ANT (подробнее ниже).
Что касается шагов, которые мы в настоящее время делаем на серверах x2: -
1) ANT экспортирует проект из SVN на оба сервера (состоит из 3 частей).
2) Начинает закрывать веб-службы на сервере № 1.Это был обходной путь, который мы применили, чтобы остановить блокировку файлов Windows (2003) при сбое развертывания.
3) ANT запускает задачу «переместить» в текущей версии (все части) во временные папки и перемещает экспортированный новыйверсия на свое место.
4) Выполняется настроенный код развертывания - одна часть состоит в перемещении постоянных функций из временной папки в новую (т. е. системные файлы / инструменты администратора веб-сервера).
5) Удалите временную папку.
6) Переведите веб-службы в оперативный режим
... промойте и повторите для 2-го сервера шаги 2 -> 6.
7) Сохраните журналы ANT.
Основная проблема, с которой я столкнулся, заключается в том, что задача перемещения ANT, по-видимому, принимает одно из двух решений.Это либо:
a) Очень просто поменять версии и продолжить - потратить минуту или две на то, чтобы обработать их, или b) пройти некоторую проверку целостности, что он перемещает каждый файл и папку из одного места вдругой.Это затопляет журналы и занимает достаточно много времени, чтобы завершить.Отсюда добавлено 40 с лишним минут.
Я не могу найти в Интернете ничего, что объясняет, почему ANT / OS принимает это решение.Вариант А был бы идеальной ситуацией с полной занятостью.
Я пробовал копировать, удалять отдельно.Я пробовал задачу синхронизации.Кажется, что у всех такая низкая производительность.
Поэтому я действительно спрашиваю, что делают другие с более опытным опытом, чем я, с развертываниями такого масштаба.Есть ли у вас какие-либо советы / подсказки о том, как я могу улучшить / ускорить этот процесс?Есть идеи, что делает этот ход и, может быть, есть лучший способ сделать все это?
Большое спасибо, Джеймс