1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/lengchuan-Linux-Tutorial

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
TeamCity-Install-And-Settings.md 18 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 02.12.2024 23:55 959b30e

TeamCity: установка и настройка

Цель:

  • познакомить читателей с концепцией непрерывной интеграции (CI), а также дать начальное представление о TeamCity от JetBrains;
  • рассказать о том, что такое TeamCity, для чего он нужен и какие люди его используют;
  • объяснить, почему стоит изучать TeamCity.

Что такое TeamCity?

TeamCity — это инструмент непрерывной интеграции, который помогает автоматизировать сборку, тестирование и развёртывание программного обеспечения. Он позволяет разработчикам быстро получать обратную связь о качестве кода и оперативно исправлять ошибки.

На официальном сайте TeamCity можно найти подробную информацию об этом продукте:

Для чего нужен TeamCity?

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

Непрерывная интеграция имеет ряд преимуществ:

  • она позволяет быстрее обнаруживать и исправлять ошибки;
  • она упрощает процесс разработки;
  • она повышает качество программного обеспечения.

Кто использует TeamCity?

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

  • Google;
  • Microsoft;
  • Amazon;
  • Яндекс.

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

Почему стоит изучать TeamCity?

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

Аналогичные инструменты

Существует несколько аналогичных инструментов, которые можно использовать вместо TeamCity:

  • Jenkins;
  • Travis CI;
  • Bamboo;
  • Hudson;
  • QuickBuild.

Каждый из этих инструментов имеет свои преимущества и недостатки. Выбор инструмента зависит от конкретных потребностей и предпочтений разработчика.

Установка и настройка TeamCity

Установка и настройка TeamCity не является сложной задачей. Однако она может потребовать некоторых знаний и навыков. В этой статье мы рассмотрим основные шаги по установке и настройке TeamCity на Linux-машине.

Установка TeamCity

  1. Загрузите установочный пакет с официального сайта TeamCity: https://www.jetbrains.com/teamcity/download/#section=linux-version.
  2. Распакуйте установочный пакет в каталог /usr/program/TeamCity/.
  3. Запустите TeamCity с помощью команды /usr/program/TeamCity/bin/runAll.sh start.
  4. Откройте веб-браузер и перейдите по адресу http://192.168.1.113:8111/, где 192.168.1.113 — это IP-адрес вашего компьютера.
  5. Введите имя пользователя и пароль администратора. По умолчанию имя пользователя — admin, а пароль — пустой.
  6. Настройте параметры сервера.
  7. Создайте проект.
  8. Добавьте в проект файлы исходного кода.
  9. Скомпилируйте и запустите тесты.
  10. Просмотрите результаты тестов.

Это лишь краткое описание процесса установки и настройки TeamCity. Более подробную информацию вы можете найти в документации TeamCity или на официальном сайте JetBrains. Перевод текста с английского на русский язык:

Java

  • Предположим, мы выберем Internal(HSQLDB), тогда при создании и инициализации базы данных потребуется некоторое время, у меня это заняло несколько минут.
  • Рисунок TeamCity-guide (a-3).
    • Согласно рисунку, примите следующий протокол.
  • Рисунок TeamCity-guide (b-1).
    • Как показано на рисунке, нам нужно создать администратора верхнего уровня. Я обычно использую для тестирования аккаунт с именем admin и паролем 123456.
  • Рисунок TeamCity-guide (b-2).
    • После установки, когда вы впервые войдёте по адресу: http://192.168.1.113:8111/profile.html?tab=userGeneralSettings,
    • вы сможете дополнить некоторую информацию об администраторе и базовую конфигурацию. Эти настройки не имеют значения, они просто делают использование более удобным.
    • Если у вас есть почтовый ящик SMTP, вы можете включить функцию уведомлений по электронной почте здесь: http://192.168.1.113:8111/admin/admin.html?item=email.
    • Если вы хотите включить уведомления, следующим шагом будет рассмотрение того, как настроить шаблон уведомлений: https://confluence.jetbrains.com/display/TCD9//Customizing+Notifications.
    • Шаблоны хранятся в каталоге /root/.BuildServer/config/_notifications, используется синтаксис FreeMarker.

Управление проектами и их сборка

  • Рекомендую ознакомиться с официальной документацией: https://confluence.jetbrains.com/display/TCD9/Configure+and+Run+Your+First+Build.
  • Теперь давайте создадим проект для сборки.
  • Адрес управления проектами: http://192.168.1.113:8111/admin/admin.html?item=projects.
  • Допустим, структура моего проекта выглядит так:
    • Youshop-Parent, вывод — pom
      • Youshop-manage, вывод — pom
        • Youshop-pojo, вывод jar
  • Сейчас мы возьмём Youshop-pojo в качестве примера и настроим его автоматическую сборку и публикацию в Nexus. Остальные проекты работают аналогично, поэтому я не буду вдаваться в подробности.
  • Рисунок TeamCity-guide (c-1).
  • Как видно на рисунке, поскольку все проекты компании должны быть под контролем версий, здесь мы выбираем: Create project from URL.
  • Рисунок TeamCity-guide (c-2).
  • Как видно на рисунке, TeamCity также поддерживает ссылки HTTP, SVN и Git.
  • Рисунок TeamCity-guide (c-3).
  • Введите учётные данные вашего хостинг-провайдера. В моём случае это oschina.
  • Рисунок TeamCity-guide (c-4).
  • Учётная запись и пароль проверены, теперь можно задать основные сведения о проекте.
  • Рисунок TeamCity-guide (c-5).
  • Скачивание файлов из системы контроля версий и сканирование файлов.
  • Рисунок TeamCity-guide (c-6).
  • TeamCity автоматически сканирует мой проект, созданный с помощью Maven, и находит файл POM. Если ваш проект имеет несколько способов сборки и соответствующие конфигурационные файлы, всё это будет отображаться.
  • Мы отмечаем флажок перед Maven и нажимаем: Use Selected.
  • Рисунок TeamCity-guide (c-7).
  • Поскольку наша цель — собрать и автоматически опубликовать в Nexus, наши Maven Goals должны быть: clean install deploy. Здесь мы должны нажать: Edit, чтобы отредактировать.
  • Если вы не знакомы с Maven Goals, вам следует изучить их, это очень важно.
  • Рисунок TeamCity-guide (c-8).
    • На этом сервере должны быть установлены Maven и JDK.
    • Как видно на рисунке, Goals нашей целью является clean install deploy.
    • Как видно на рисунке, Maven Home я рекомендую использовать собственный путь, чтобы избежать проблем. Поэтому вы должны указать путь установки Maven на вашем сервере. Текущая поддерживаемая версия Maven — 3.2.5.
    • Как видно на рисунке, Java Parameters я также рекомендую использовать свой собственный путь.
  • Рисунок TeamCity-guide (c-9).
    • Нажмите run, чтобы начать ручную сборку этого проекта.
  • Рисунок TeamCity-guide (c-10).
    • Как видно на рисунке, мы видим краткий журнал сборки.
  • Рисунок TeamCity-guide (c-11).
  • Рисунок TeamCity-guide (c-12).
    • Как видно на двух рисунках выше, мы видим подробное содержание сборки.
  • Рисунок TeamCity-guide (d-1).
    • Когда в системе контроля версий происходит фиксация изменений, TeamCity распознаёт запись.
  • Рисунок TeamCity-guide (d-2).
    • Как видно на рисунке, мы можем видеть сообщение фиксации изменений.
    • Также на рисунке справа от красной рамки есть три кнопки, которые используются для обработки этой фиксации. Обычно используется первая кнопка, которая запускает сборку для этой версии.
  • Рисунок TeamCity-guide (d-3).
    • Вы можете просмотреть все записи фиксации, выбрав Change Log и указав версию для сборки.
  • Рисунок TeamCity-guide (e-1).
    • Этот проект можно удалить, если он больше не нужен.
  • Рисунок TeamCity-guide (e-2).
    • Поскольку в Goals есть команда deploy, сборка завершается публикацией в Nexus, и другие члены команды могут использовать последнюю версию кода.
  • Рисунок TeamCity-guide (e-3).gif
    • Это основные места конфигурации для часто используемых проектов.

Настройка автоматического запуска сборки

  • Официальный сайт предоставляет следующие триггеры: https://confluence.jetbrains.com/display/TCD9/Configuring+Build+Triggers.
  • Ниже приведены примеры распространённых: VCS Trigger и Schedule Trigger.
  • Рисунок TeamCity-guide (f-1).
    • Добавьте триггер, нажав Add new trigger.
  • Рисунок TeamCity-guide (f-2).
    • Вот некоторые распространённые триггеры.
  • Рисунок TeamCity-guide (f-3).
    • Конфигурируйте VCS Trigger. Эффект заключается в следующем: когда мы отправляем код, TeamCity автоматически проверяет наличие новой версии и запускает сборку. Это наиболее часто используемый функционал.

Рисунок: TeamCity Guide (http://img.youmeek.com/2016/TeamCity-guide-f-4.jpg) — Как показано на рисунке, функция «Schedule Trigger» предназначена для запуска сборки по расписанию. Помимо стандартных настроек через несколько полей ввода, TeamCity также позволяет использовать синтаксис Cron для настройки. — В TeamCity используется синтаксис Quartz Cron. Подробнее об этом можно узнать здесь: Quartz CronTrigger Tutorial (http://www.quartz-scheduler.org/documentation/quartz-1.x/tutorials/crontrigger#CronTriggersTutorial-Specialcharacters). — Если вы не знакомы с синтаксисом Cron, то это не страшно, но я думаю, что для тех, кто занимается Java, это должно быть известно.

Интеграция с IntelliJ IDEA

— Установите IntelliJ IDEA: https://confluence.jetbrains.com/display/TCD9/IntelliJ+Platform+Plugin. — Рисунок: TeamCity Guide (http://img.youmeek.com/2016/TeamCity-guide-g-1.jpg). — Как видно на рисунке, мы можем напрямую подключиться к серверу TeamCity. Здесь имя пользователя и пароль соответствуют учётной записи TeamCity. — Рисунок: TeamCity Guide (http://img.youmeek.com/2016/TeamCity-guide-g-2.jpg). — После подключения, как показано на рисунке, появится крючок. — Рисунок: TeamCity Guide (http://img.youmeek.com/2016/TeamCity-guide-g-3.jpg). — Мы можем напрямую интегрировать контент, отправленный другими пользователями, используя IntelliJ IDEA. — Существует множество других способов интеграции, которые вы можете попробовать самостоятельно.

Прочее

— Список плагинов TeamCity: https://confluence.jetbrains.com/display/TW/TeamCity+Plugins. — Использование внешней базы данных: — Настройка внешней базы данных: https://confluence.jetbrains.com/display/TCD9/Setting+up+an+External+Database. — Миграция на внешнюю базу данных: https://confluence.jetbrains.com/display/TCD9/Migrating+to+an+External+Database. — Резервное копирование данных: https://confluence.jetbrains.com/display/TCD9/TeamCity+Data+Backup. — Функции проверки кода: — https://confluence.jetbrains.com/display/TCD9/Code+Quality+Tools. — https://confluence.jetbrains.com/display/TCD9/Code+Quality+Tools#CodeQualityTools-IntelliJIDEA-poweredCodeAnalysisTools. — https://confluence.jetbrains.com/pages/viewpage.action?pageId=74847276.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/lengchuan-Linux-Tutorial.git
git@api.gitlife.ru:oschina-mirror/lengchuan-Linux-Tutorial.git
oschina-mirror
lengchuan-Linux-Tutorial
lengchuan-Linux-Tutorial
master