TeamCity 4.0 released

    Что такое TeamCity? TeamCity — это, говоря научно-занудным языком, интегрированная среда, которая повышает эффективность групповой разработки, беря на себя такие рутинные действия как сборка билдов, запуск и анализ тестов, а так же анализ исходного кода (инспекции, поиск дубликатов и т.д.) Посмотрев на картинку многое станет понятным:
    image

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

    1. Unit-тестирование.
    Если Вы Team или Tech Leader в проекте, то, наверное, фраза «Вася, почему ты закомитил код, не запустив тесты перед этим?? Теперь Машкина компонента криво работает!!!» для Вас очень даже привычна. Как заставить разработчиков запускать unit-тесты? Может делать это насильно? :) В зависимости от конфигурации и настройки, TeamCity может следить за commit'ами разработчиков и сразу же запускать создание билда, а после и unit-тесты. Если после Васиного коммита появились новые упавшые тесты, то Вася получит письмо от системы о том, что неплохо бы посмотреть может это он виноват? Тоже самое если после Васиного коммита упала компиляция.

    TeamCity имеет web-interface и смотреть что и как происходит можно в режиме реального времени.
    image

    2. Использовать можно сразу несколько систем контроля версий. Например, в моем проекте используются одновременно Perforce и SVN.

    3. Анализ кода инспекциями и поиск дубликатов
    Анализ (Java кода) проходит на основе инспекций IntelliJ IDEA, а там их более 600. В результате, человек ответственный за качество кода может оперативно отреагировать на bullsh*t, который засабмитил Вася и тактично ему об этом намекнуть.
    image
    Поиск дубликатов, так же, очень полезная вещь. Ведь зачастую разработчики в спешке "тырят" у друг дружки код, вместо того, чтобы его как-то преобразовать или вынести в общее место. Или просто думают «Сейчас копи-пастну, а потом все перепишу», а после забывают. В TeamCity все это легко можно посмотреть.

    4. Remote Run
    Это такая фишка удобная. Вместо коммита делаешь Remote Run. Если компиляция и все тесты прошли, то сорцы коммитятся

    В общем, советую поиграться, особенно, если Вы пишете на Java большие приложения. К сожалению, не работал с TeamCity под .NET, так что ничего говорить не будут. Пусть другие отпишутся.
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 37

      +3
      было ;) (http://godin.habrahabr.ru/blog/45701/) но у вас намного информативнее, но можно вот это ещё добавить www.jetbrains.com/teamcity/img/BuildGrid.jpg

      8080 есть под macos/linux, windows, java ee container — 195-219 мег три архива для всех
      + «download development releases and participate in our TeamCity Early Access» это 8018 так же для трёх и столько же

      есть «Open Source License» с «FREE for non-commercial, open source software development» и безлимитами+поддержкой через «Member Account at the JetBrains Open Source Support Program»
        +1
        А там только ссылка на оффсайт была. Поэтому «намного информативнее» =) Спасибо за инфу о лицензиях
        +3
        Оно че фришное?
          0
          в том числе и фришное :)
          там есть несколько типов лицензий, например, для open source проектов оно будет бесплатным, для небольших проектов тоже можно использовать for free. а вот для создания чего-то большого и страшного надо будет заплатить, но $2000 для большого проекта — не деньги…
            0
            Лицензия «Professional» является бесплатной, но имеет несколько ограничений (не более трех билд-агентов, не более 20 аккаунтов для девелоперов, у аккаунтов отсутствуют роли по проектам, не более 20 билд-конфигураций). Существует польностью бесплатная лицензия без ограничений, но для Open-Source проектов.
            Короче, читайте сами: www.jetbrains.com/teamcity/buy/index.jsp
              0
              По своему опыту могу сказать, что Professional хватает даже для довольно крупномасштабных приложений.
            +2
            Совершенно замечательная вещь эта ТимСити. Использую на своем проекте уже где-то пол года (у нас 3-я версия стоит). Впечатления только положительные.
            Поставили её как только заказчик захотел «автоматизациии всего и всех» (такое у заказчиков регулярно бывает). Вобщем-то всем рекомендую.:)
              0
              Очень рекомендую проапгрейдиться — это не сложно а улучшений и испавлений масса.
                0
                Гм, а как оно с .NET. У меня всё итак всё автоматится через MSBuil и pre-commit скрипты?
                0
                Мне в последний год к сожалению приходится работать с .NET проектами. Многих Java иструментов не хватает как воздух. Вот и еще один пример.
                  +1
                  Не пойму в чем проблема? TeamCity можно использовать и для .NET. TC прекрасно понимает формат проектов студии и может запускать MS Tests
                    0
                    Плохо копаете. ТС прекрасно работает с дотнетом.
                    +2
                    Для коммерческих проектов можно использовать CruiseControl + maven 2 + pmd + checkstyle. Получится тоже самое, но бесплатно.
                      0
                      а для некоммерческих? :)

                      я сейчас использую для сборки CC.NET, потому как он может работать с VisualStudio, и меня он вполне устраивает: небольшой, лишние ресурсы не жрет, настраивается через config-файл, что для меня лучше, чем web-интерфейс.
                      Но вот если надо будет прикрутить к нему еще что-то, то начнется геморрой — не потому, что CC плох, а потому, что организация взаимодействия различных программ — это геморрой в большинстве случаев, и вот тут как раз могут быть полезны приложения с кучей возможностей.
                        0
                        У ТС тоже есть бесплатные лицензии: www.jetbrains.com/teamcity/buy/index.jsp. А вот собирать его из кубиков не надо, все уже включено.
                          +1
                          TeamCity можно использовать бесплатно для любых проектов, и коммерческих в том числе. Ограничение — по размеру проекта.

                          www.jetbrains.com/teamcity/buy/buy.jsp#professional
                          0
                          Спасибо. Подкинул ссылку нашим JAVA-девелоперам, пусть покрутят и вынесут решение о возможности использования в наших проектах. Ибо сейчас у нас для автоматических билдов используется Atlassian Bamboo, но он платный и неизвестно, когда они задолбаются продлевать нам trial-лицензии (уже четвертый раз просим, все еще дают :)
                            0
                            и как впечатления от Bamboo? стоит он тех денег, которые за него просят?
                              0
                              К сожалению конструктивного ничего не могу сказать. Я пользуюсь Bamboo на уровне обезьяны — залогинился, нажал кнопку. Я знаю, что он выгребает проект из SVN, собирает и разворачивает. На этом мой опыт общения с ним заканчивается.
                                0
                                понятно.
                                я сейчас в поисках системы для автоматической сборки
                                Проект на C++
                                уже есть Jira, значит, Bamboo можно будет с ней интегрировать, но придется платить еще пару тысяч $
                                можно поставить TeamCity — но это еще один «монстр»
                                сейчас используется CC.Net, пока хватает…
                            0
                            нужно попробывать
                              0
                              Подскажите, реально ли этой штукой собирать extended EAR'ы такие же, как вебсфера собирает, чтобы их WAS ел нормально?
                              У нас огромная проблема с этим и пока работающего решения найти или самим разработать никак не получается…
                                0
                                если идея умеет, то наверняка и TC может…
                                  0
                                  ТС использует IDEA только для Code Inspection, Duplicate Search и сборки проектов в ее родном формате.
                                    0
                                    так я про её родной формат и говорю
                                  0
                                  Специальных средств у нас для этого нет, но если этот процесс можно как-то автоматизировать то его можно интегрировать в ТС.
                                  0
                                  А есть ли чтото подобное для PHP? А то я давно уже ищу но ничего подобного не видел.
                                    0
                                    build server для PHP? Мммм любопытно =))
                                    +1
                                    Ничего не мешает использовать TC для PHP. Запускаете любой свой тул через Command Line Runner и выводите инфу о прогрессе билда с в STDOUT www.jetbrains.net/confluence/display/TCD4/Build+Script+Interaction+with+TeamCity#BuildScriptInteractionwithTeamCity-ServiceMessages
                                      0
                                      Попробую осуществить это в ближайшее время, у вас уже есть какой-то опыт по теме?
                                        0
                                        Ну я работал в этом проекте пару лет до PhpStorm.
                                        Но это не имеет никакого значения — просто как написано в примере по ссылке и все будет работать. Мы уж что только туда не «интегрировали» %)
                                    0
                                    А если используется NetBeans?
                                      0
                                      … вы не сможете использовать самую вкусную фичу для которых нужен IDE plug-in — pre-tested commit, никаких других проблем нет.
                                      +1
                                      ИМХО вы ошиблись блогом, статью бы в «Управление проектами». ТС прекрасно работает не только с джавой, но и с С++ и проектами на дотнете. Вся функциональность, которая доступна в IDEA, доступна и в Visual Studio.
                                      Сам работал с ТС на двух крупных проектах. Оба — монструозные корпоративные ASP.Net-приложения с целым зоопарком различных технологий. ТС отлично себя зарекомендовал и по всем статьям опережает CC.Net.
                                        0
                                        в джанго-проекте используем тимсити, www.kigorw.com/2008/10/18/continuous-integration-django/ очень удобная штука
                                          0
                                          Есть ли что то похожее для Python?

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

                                          Самое читаемое