пятница, 2 марта 2012 г.

Анализ дня: TeamCity, встроенные скрипты

    Все-таки собрался с силами, чтобы продолжить серию. Как это всегда бывает написать второе сообщение намного сложнее, чем первое.
    Но перейдем ближе к делу. Сегодня выдалась достаточно сумбурная пятница и одной из причин этого стал мой первый кривой фикс на новом проекте :).
    Досталась мне в наследство билд система, поднятая с помощью TeamCity. Инструмент после CruiseControl-я выглядит замечательно, интерфейс очень дружелюбный и разобратся можно достаточно быстро.
    Одной из фичей TeamCity, является возможность писать cmd скрипты непосредственно через веб интерфейс. Вот этой фичей и воспользовался в полной мере тот, кто настраивал доставшуюся мне билд систему. Ну а я сегодня полез ее немного дотюнить. Нужно мне было всего-то поправить имя архива, который получается на выходе. Оказалось это нет так просто и я сразу ощутил все прелести встроенных скриптов.
    Пошли по пунктам:

  • Нет возможности нормально править скрипт, просматривать можно по одному шагу, к тому же нет подсветки синтаксиса;
  • Нет возможности проверить прямо в системе отдельно какие-то шаги, все нужно запускать целиком, а это занимает ну очень много времени;
  • Самое главное, нет возможности быстро откатить свои изменения, если что-то пошло нет так;
  • Система очень плохо расширяется, выносить и переиспользовать код нельзя.
    Вот такие вот грабли.


    P.S. Еще в свое оправдение скажу, что мы уже пару дней назад начали выносить скрипты из TeamCity и переписывать их на Python. Думаю такая система будет намного лучше поддаваться контролю, изменениям и расширениям.

    Всем доброй ночи.

2 комментария:

  1. Сам вот хочу начать использовать TeamCity. Наслышан про неё, говорят крутая система для полной интеграции разработки.

    ОтветитьУдалить
    Ответы
    1. Система действительно мощная и главное достаточно интуитивная. Я потратил 2-3 часа, чтобы с нуля настроить себе сборку проектов VS2008 из перфорса на билд машине.
      Там вдобавок есть неплохой набор плагинов, но я к ним еще не добрался.

      Удалить