Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Типовая сборка и деплой продуктов в Positive Technologies

189 views

Published on

1. Проблемы в построении CI процессов в компании
2. Структура типовой сборки
3. Пример реализации типовой сборки
4. Плюсы и минусы от использования типовой сборки

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Типовая сборка и деплой продуктов в Positive Technologies

  1. 1. Типовая сборка и деплой продуктов в Positive Technologies Александров Владислав CI-инженер valexandrov@ptsecurity.com
  2. 2. План • Проблемы в построении CI-процессов в компании • Структура типовой сборки • Пример реализации типовой сборки • Плюсы и минусы от использования типовой сборки
  3. 3. Инструменты и сервисы
  4. 4. Сервисы DevOps в Positive Technologies
  5. 5. Сервисы DevOps для организации CI Сообщество DevOpsHQ: github.com/devopshq
  6. 6. Continuous Integration всем и сразу
  7. 7. Проблемы • Нет типового шаблона для создания сборочных, деплойных и тестовых конфигураций • Медленное создание типовых проектов в Continuous Integration системах • Отсутствие механизмов масштабируемости проектов
  8. 8. Решения • Создать структуру будущих сборок, позволяющую быстро расширять и изменять их • Создать базовые шаблоны и метараннеры в TeamCity • Создать автоматический генератор для TeamCity сборок в DevOps tools
  9. 9. Типовой проект в TeamCity
  10. 10. Что такое TeamCity и с чем его едят
  11. 11. Релизная схема сборок с продвижениями в TeamCity
  12. 12. Обобщенная трехуровневая иерархия проектов в TeamCity
  13. 13. Типовой интерфейс проектов в TeamCity
  14. 14. Метараннеры в TeamCity
  15. 15. Структура сборочного процесса в TeamCity
  16. 16. Автоматическая генерация конфигураций
  17. 17. Root meta-runners
  18. 18. Основные root meta-runners • Deploy DevOps-tools — доставляет на сборочные агенты DevOps скрипты • Build prepare — подготавливает окружение перед запуском сборочных метараннеров • Linux build — запускает сборку с определенным компилятором под nix системы • Windows build — запускает сборку с определенным компилятором под win системы
  19. 19. Build prepare: основные шаги • Определение версии (major, minor, patch) • Подготовка переменных для сборочных метараннеров • Обновление информации о сборке в UI TeamCity • Обновление build-счетчика • Создание файлов с чувствительной информацией • Перемещение исходников в рабочую директорию
  20. 20. Windows/Linux build: основные шаги • Подготовка переменных окружения • Запуск сборочного скрипта (build-on-server) • Создание архива для выкладки • Выкладка финального архива и/или дополнительных компонентов
  21. 21. Скрипты автоматической сборки
  22. 22. Скрипт сборки (build-on-server)
  23. 23. TeamCity агенты Windows • Администрирование командой DevOps • Изменение окружения только командой DevOps • Выделенные пулы для команд Linux • Администрирование командой DevOps • Запуск сборок в Docker контейнерах • Docker контейнеры поддерживаются разработчиками • Единый Linux пул
  24. 24. Что получилось
  25. 25. Плюсы • Типизированный процесс сборок • Узловые метараннеры и шаблоны • Структура всех компонент в коде • Новый проект? Легко!
  26. 26. Минусы • Ограниченная гибкость изменений конфигураций • Сборочные шаги контролируются только DevOps • Изменения окружения практически не обратимы • Одна сборочная конфигурация для всех веток подпроекта
  27. 27. Что дальше
  28. 28. Дальше — больше • Передать управление шагами сборки в команды • Версионирование Docker образов • Создать единый Windows пул • Автоматизация и еще раз автоматизация
  29. 29. Спасибо! Вопросы? Александров Владислав CI-инженер valexandrov@ptsecurity.com

×