Я пытаюсь прийти в сознание CI и играю с Phing в эти выходные.Кажется, что все достаточно просто для использования, и уже есть много примеров.
Однако что-то, что меня до сих пор удивляет, это то, как люди на самом деле его используют.То есть я не ищу, какие тесты вы проводите, а вместо этого предлагает рабочий процесс с использованием Phing, на каком этапе вы его активируете, на каком этапе цикла разработки он действует.
Например,У нас есть несколько веб-сайтов, в настоящее время мы редактируем исходный код локально и при сохранении загрузки на действующий сайт (я знаю, насколько это плохо ...), мы проводим небольшое быстрое тестирование и проверяем, работает ли код в соответствии с планом.Если это так, мы обязуемся делать репо и продолжать.Если нет, мы можем откатиться или отредактировать, отменить и сохранить заново.Хотя теперь это кажется сумасшедшим, простота хорошо сработала для нас.
Однако теперь у нас небольшая команда, поэтому я пытаюсь подтолкнуть Phing к этому процессу, чтобы получить все дополнительные преимущества от звонков / вдыхания./ обнаружение беспорядка и т. д., однако я не могу определить лучший порядок событий.
Не могли бы вы предложить:
- Редактировать код локально.
- При сохранении загрузите файл на тестовый сайт.
- Протестируйте сайт на промежуточном сервере.
- Все в порядке, внесите изменения в репозитории.Затем запустите phing.
- Оцените выходные данные Phing, обновите код по мере необходимости, повторно сохраните, повторно подтвердите, повторно запустите phing.
- Если предположить, что Phing проходит, так как я запускаю phing на другом сервере, выполните экспорт svn и запустите процесс развертывания.
Вышеприведенное кажется мне немного сложным.Это потому, что мне кажется, что я пытаюсь объединить тестовое развертывание с живым развертыванием, которое меня смущает?
Также может показаться, что коммитить немного назад, затем запустить Phing, затем отредактировать и, возможно, повторно-примите попытку перед повторной попыткой.
Следовательно, имеет смысл:
- Редактировать код локально.
- Сохраните, выполните тестовую сборку развертывания с Phing.
- Убедитесь, что код прошел все проверки кода и т. Д.
- Используя Phing, убедитесь, что код скопирован на промежуточный сервер..
- Протестируйте сайт на промежуточном сервере.
- Все в порядке, зафиксируйте изменения в репозиториях.
- Затем выполните сборку в режиме реального времени с Phing.
Проблема с вышесказанным в том, что, скажем, я просто хотел исправить написание слова, жестко запрограммированного на HTML-странице, кажется излишним?
Наконец, как люди настраивают свои серверы,у вас есть один сервер для живого сайта, один для промежуточного размещения и один для размещения Phing (и любого программного обеспечения CI)?