Pull to refresh
  • by relevance
  • by date
  • by rating

TeamCity 2020.1: условия выполнения билд-шагов, запуск билд-агентов в Kubernetes, новые интеграции и нотификации

JetBrains corporate blogIT systems testingServer AdministrationDevOps
Привет, Хабр! На прошлой неделе мы выпустили TeamCity 2020.1 — новую версию CI/CD-сервера от JetBrains. В этом посте я хочу рассказать, что в ней появилось интересного.


Читать дальше →
Total votes 11: ↑11 and ↓0+11
Views2.4K
Comments 7

Американские СМИ назвали TeamCity компании JetBrains возможной причиной взломов в США

Information SecurityBuild automationIT-companies
Американское издание «Нью-Йорк таймс» назвало JetBrains возможной «точкой входа» для взломов государственных и частных структур США. В изначальной версии статьи «Таймса» JetBrains описывают как «малоизвестную» российскую компанию с главным офисом в Чехии. Как утверждает статья «Уолл-стрит джорнэла», взломщики SolarWinds получили доступ к серверу TeamCity компании, поэтому часть подозрений пала на разработчика этого продукта. JetBrains отрицает причастность к взломам.

В середине декабря прошлого года фирма кибербезопасности FireEye опубликовала отчёт о взломе систем компании SolarWinds. Программу Orion последней используют по всему миру, в том числе во всех подразделениях вооружённых сил США, АНБ и госдепартаменте. Как утверждает отчёт FireEye, скомпрометированы обновления Orion с марта по июнь 2020 года — в них разместили бэкдор SUNBURST. В размещении бэкдора американские СМИ обвинили хакеров, работающих на Россию.

Как говорит новая статья в «Таймсе», американские агентства по разведке и частные исследователи кибербезопасности начали изучать роль JetBrains в крупном взломе компании SolarWinds. Затем статья поясняет, что среди клиентов «малоизвестной» фирмы 79 компаний из списка Fortune 100, а вообще софт JetBrains используют 300 тыс. организаций. Среди них оказалась SolarWinds, с которой и начался взлом.
Читать дальше →
Total votes 33: ↑29 and ↓4+25
Views17K
Comments 76

Интеграция с TeamCity

Ruby
В процессе разработки проекта на Ruby 1.9 нам потребовалось использовать систему непрерывной интеграции.

CruiseControl.rb в своё время не подошёл из-за несовместимости с Ruby 1.9, в результате мы остановились на бесплатной TeamCity Professional под Linux.

Начальная настройка тривиальна, потребует лишь распаковки дистрибутивов TeamCity и JRE, а также настройки переменной JRE_HOME.

Прямо из коробки мы можем получить запуск тестов Test::Unit, RSpec, с оценкой покрытия rcov.

Но нам потребовалось большее, например, использовать кастомные тесты.

Рассмотрим тривиальный пример — тесты на компилируемость (например, исходного кода, файлов в формате YAML etc.).

image

Читать дальше →
Total votes 24: ↑22 and ↓2+20
Views4.1K
Comments 22

Введение в Continuous Integration

Website development
Недавно я попал на новый проект, с задачей создать небольшое приложение с нуля. Разговариваю с тестером:
— А как тебе новые версии поставлять?
— Можешь как все остальные на проекте, через SVN.
— То-есть ты сама билдить будешь?
— Да нет… Бинарники оттуда беру.


Оказывается, очень много программистов, даже имеющих в подписях слова вроде Senior или Superior никогда в жизни не стыкались с понятием CI, или слабо себе представляют что это такое. Не найдя отдельных публикаций на Хабре на эту тему, решил восполнить пробел, а заодно и по возможности заработать желанный инвайт.
Читать дальше →
Total votes 104: ↑91 and ↓13+78
Views173K
Comments 65

Непрерывная интеграция и TeamCity

PHP
Непрерывная интеграция (англ. Continuous Integration) — это практика разработки программного обеспечения, которая заключается в выполнении частых автоматизированных сборок проекта для скорейшего выявления и решения интеграционных проблем. В обычном проекте, где над разными частями системы разработчики трудятся независимо, стадия интеграции является заключительной. Она может непредсказуемо задержать окончание работ. Переход к непрерывной интеграции позволяет снизить трудоёмкость интеграции и сделать её более предсказуемой за счет наиболее раннего обнаружения и устранения ошибок и противоречий.

imageВ этом топике мы в общих чертах рассмотрим процесс реализации непрерывной интеграции на примере TeamCity Enterprise 6.0 EAP (build 15400) и обратим внимание на применении инструментов рассмотренных в прошлой теме: Обеспечение качества программного продукта.
Читать дальше →
Total votes 49: ↑44 and ↓5+39
Views97K
Comments 49

Расширение Google Crome для мониторинга сборок TeamCity

Programming
Ребята из JetBrains радуют нас своим замечательным Continuous Integration сервером TeamCity. Одна из самых главных задач такого сервера, является очень быстрый feedback, с чем TeamCity великолепно справляется. В коробке имеется много нотификаторов (IntelliJ Platform plugin, Windows Tray Notifier, Addin for Visual Studio, Eclipse Plugin, Syndication Feed) и для программистов этого хватает. Наш отдел тестирования не имеет желания запускать у себя Idea и подобные «страшные штуки», для того что бы видеть статус сборки.
Читать дальше →
Total votes 6: ↑5 and ↓1+4
Views1.6K
Comments 1

HowTo: continuous integration проекта на Django с помощью TeamCity

Django

Введение


В процессе разработки, создавая новый функционал, всё чаще широкими мазками стал задевать старый код чем разрушал логику его работы. Это заставило всё-таки написать юнит и интеграционные тесты для старого кода и автоматизировать их запуск, т.к. гонять руками все тесты как-то грустно. Как раз вспомнилось недавнее руководство по CI Django в Jenkins и довольно старое по Webtest в Django. В итоге была совершена попытка поднять Дженкинса, но он как-то на моей убунте не взлетел и я грешным делом вспомнил про TeamCity. «Раз уж пишу в PyCharm и нашёл к нему подход, то, наверно, и TeamCity осилю, ведь конторка-то одна!» — подумалось мне… В общем-то я оказался прав, и, пока мне позволяет карма, решил подарить вам ультраполезный (и мегаподробный), в отличие от моего предыдущего, мануал :)

Итого: кому требуется руководство по поднятию интеграционного сервера TeamCity, и тестирование в нём Django проектов c тестами nose и webtest в виртуальном окружении python с автоматическим его (окружения) обновлением — добро пожаловать под кат.

Осторожно! Для работы TeamCity требуется (согласно документации) sun/oracle версия JVM…
Читать дальше →
Total votes 30: ↑27 and ↓3+24
Views13K
Comments 16

Автоматическая проверка качества Java-кода (итерация 1)

TINKOFF corporate blog
Инспектор
Данный цикл статей я планирую, как историю в нескольких частях о том, как настраивается автоматическая проверка качества кода в нашем проекте. Процесс этот, вроде бы простой, оказался полным неочевидных деталей, так что появилось желание разъяснить подстерегаютщие трудности и их решения широкой аудитории, чтобы все могли сделать свой код чуть лучше, обойдя побольше грабель.

В итоге хочется добиться того, чтобы инспекции, проверка стилей, и вычисление метрик гонялись на сборочном сервере, тогда всем будет понятно в каком состоянии находится проект. Причём, в идеале, все те проверки, которые срабатывают на сервере должны срабатывать и в IDE, чтобы замечания к своему коду можно было устранять до того, как о них узнает вся команда. По мере совершенствования подходов, итерации будут дописываться и публиковаться.

В этой итерации, я буду настраивать проверку инспекций. Мы всей командой используем IntelliJ IDEA и TeamCity компании JetBrains, поэтому можно использовать те средства, которые они предоставляют. Для начала в IntelliJ IDEA будет настроен профиль инспекций, соответствие кода которому будет проверяться при каждой сборке при помощи TeamCity. Метод это штатный и описан в официальной базе знаний по TeamCity, но не всё получалось очень гладко…
Копаем!
Rating0
Views5.7K
Comments 2

Автоматизация сборки на .Net с использованием NuGet

.NET
Sandbox

Что имелось вначале


Крупная enterprise-система, являющаяся основной платформой компании. В состав входит ядро системы и набор плагинов под разные задачи. Плагины развиваются независимо друг от друга, требуют внесения изменений и расширений в общие библиотеки.

При развитии и ветвлении системы нахождение всех плагинов в общем проекте усложнило поддержку кода. Постоянно существовало несколько веток в репозитории, что приводило к большим трудностям при подготовке релизов и слиянии изменений.

Поэтому было принято волевое решение создать инфраструктуру и настроить сценарии для автоматизации сборки проекта под разные плагины.

При решении задачи использовались следующие инструменты: NuGet, TeamCity, NAnt, Visual Studio 2010, SlowCheetah.
Читать дальше →
Total votes 24: ↑23 and ↓1+22
Views7K
Comments 11

Android — Сontinuous Integration. Часть 1

Development for Android
Не буду описывать в сотый раз что такое CI и зачем это нужно. Выдумщиком данной концепции считается, не безизвестный, Мартин Фаулер, а с его трудом можно ознакомиться здесь.

Я же хочу в серии из нескольких статей рассказать о том, как организовать разработку Android приложений с использованием непрерывной интеграции. Для меня было неожиданностью, что несмотря на всю популярность CI, в интернете до сих пор не существует подробной инструкции, по шагам, для новичков, даже на английском языке, не говоря про русский (ну или я таких попросту не нашел).

В первой статье цикла мы обозрим сложившуюся унылую ситуацию и набросаем план действий по спасению — то что ожидаем получить в конце и ради чего все затеваем. А затем, постепенно, начнем это воплощать в жизнь. Кого заинтересовал, прошу под кат.
Читать дальше →
Total votes 15: ↑14 and ↓1+13
Views19K
Comments 15

Jax-Awards, PhpStorm и все, все, все (дайджест новостей с 9-15 июля)

JetBrains corporate blog
Множество событий может произойти в компании за неделю. Выходят релизы, выпускаются апдейты и багфиксы, наши представители выступают с докладами, которыми мы хотим поделиться с огромной аудиторией Хабра. К сожалению, далеко не все инфоповоды успевают перерасти в отдельные статьи.

Чтобы компенсировать это мы решили выпустить экспериментальный дайджест новостей, которые вы могли пропустить на прошлой неделе:

  • Прошлый вторник порадовал нас приятным известием из Сан-Франциско: на конференции JAX 2012 были объявлены итоги голосования за «JAX Innovation Awards», где мы стали победителями в номинации «The most innovative Java company»!

Читать дальше →
Total votes 7: ↑6 and ↓1+5
Views3.4K
Comments 1

Кастомная обработка jUnit тестов в TeamCity

IT systems testing
Sandbox
TeamCity поддерживает jUnit «на лету» и особых проблем с выполнением тестов нет. Но стандартная поддержка не покрывает все юзкейсы. Например, никогда нельзя быть уверенным, в какой очередности пройдут тесты. Кроме того, есть другие вариации тестовой архитектуры, которые просто невозможно сделать дефолтными средствами jUnit. Например, определение в рантайме, какие тесты нужно запускать, а какие нет. Причем с выводом в отчетах в TeamCity без проигнорированных тестов.
Читать дальше →
Total votes 2: ↑2 and ↓0+2
Views4.5K
Comments 13

Дайджест новостей JetBrains с 26-го июля по 5 августа

JetBrains corporate blog
После того как 26-го июля вышел долгожданный мажорный релиз ReSharper 7, произошел целый ряд событий, о которых мы не можем не упомянуть хотя бы в формате дайджеста.

Итак, перечислим важнейшие из них в обратном хронологическом порядке:
К остальным новостям
Total votes 20: ↑19 and ↓1+18
Views4.8K
Comments 8

Дайджест новостей JetBrains с 7 августа по 4 сентября

JetBrains corporate blog
Пришло время очередного дайджеста новостей. Как и прежде, мы постараемся рассказать про все или почти все основные события, а также самые свежие релизы и апдейты, которые состоялись за последний месяц.
image
  • Сегодня, 4 сентября RubyMine 4.5.3 улучшил поддержку Sass и LESS;



Читать дальше →
Total votes 4: ↑3 and ↓1+2
Views3.1K
Comments 29

Играем с коднэймами

JetBrains corporate blogKotlin
У программистов сложная работа. Чтобы подпитывать свой творческий дух, иногда необходимо отвлекаться. Например, мы в JetBrains подбираем кодовые имена для будущих релизов продукта. Вот парочка забавных историй их появления.

Интеллект от Бога

IDEAЗа одиннадцать лет на рынке информационных технологий наш лучший образец интегрированной среды разработки IntelliJ IDEA сменил несколько имен богинь: Stella, Vista, Pandora, Ariadna, Aurora, Pallada, Irida, Demetra, Selena, Diana, Maia, Nika, и самое недавнее — Leda.

Коднэймы находят отражение и в заставках к продуктам. Вот, например, Aurora. Если бы мы делали русскоязычный продукт, наверняка бы изобразили крейсер Аврора, но он ведь интернациональный… а Aurora, кроме богини, по-английски еще означает и «северное сияние». Вот такой коленкор!
Продолжение истории
Total votes 23: ↑23 and ↓0+23
Views6.6K
Comments 11

Дайджест новостей JetBrains с 11 сентября по 9 октября

JetBrains corporate blogKotlin
Помимо релиза PhpStorm 5.0 и очередного «майлстоуна» проекта Kotlin, про которые мы уже писали на Хабре, за последний месяц вышел еще целый ряд обновлений, которые могли ускользнуть от вашего внимания:

  • 9 октября — вышел минорный релиз AppCode 1.6.2;

  • 4 октября — команда YouTrack выпустила обновление YouTrack 4.0.4;


Читать дальше →
Total votes 6: ↑5 and ↓1+4
Views3.1K
Comments 7

Continuous Delivery & Sitecore: наша реализация

Website development.NETC#
Sandbox
Хочу представить Вам нашу концепцию Continuous Delivery (далее, CD) применительно к основной CMS в которой нашу компания ведет разработку – Sitecore. Наша концепция CD зиждется на трех китах:
  • Система контроля версий – Git (в принципе, можно применять и к другим, но Git наиболее удобен в виду того, что ветки в нем весьма просты, быстры и дешевы)
  • CI сервер – TeamCity
  • Код, который собственно и осуществляет всю доставку, установку и обработку (скрипты и дополнительные исполняемые файлы)

В данной статье, я попробую описать все вовлеченные аспекты.
Читать дальше →
Total votes 5: ↑5 and ↓0+5
Views11K
Comments 3

FitNesse + TeamCity — добавь проекту тонуса

IT systems testing
Доброго времени суток, любители зажать конструируемую систему в рамки разнообразных тестов! Многие из вас пользуются средствами для создания системных тестов. Кто-то даже использует FitNesse, о котором на Хабре немного рассказывали. Поэтому не буду повторяться и писать про то, что такое FitNesse и с чем его едят. Лучше расскажу про то, как заставить проект «заниматься фитнесом» в процессе сборки, которая протекает при помощи TeamCity.
Интересненько? Тогда добро пожаловать под кат.
Читать дальше →
Total votes 5: ↑4 and ↓1+3
Views7.8K
Comments 6

AIDA. Автоматизация работы с Git, JIRA и TeamCity

Badoo corporate blogWebsite developmentIT systems testing
При разработке и тестировании какого-либо продукта появляется много рутинной работы. Чтобы избежать ошибок, связанных с человеческим фактором, мы используем AIDA.

AIDA (англ. Automated Interactive Deploy Assistant) — это учётная запись, значительно облегчающая работу с Git, TeamCity и JIRA.
Сегодня речь пойдет о том, как с её помощью нам удалось автоматизировать многие рабочие процессы.

В первую очередь мы вспомним об используемой в Badoo системе контроля версий, далее расскажем о том, как было автоматизировано создание веток релиза и осуществлено автоматическое слияние веток в Git, поговорим о существенной помощи AIDA в работе с JIRA (контроль и изменение статуса задач, заполнение полей) и ТeamCity (непрерывная интеграция и развёртывание на тестовое окружение).
Читать дальше →
Total votes 53: ↑50 and ↓3+47
Views37K
Comments 52