Часть первая
вводная
Проект 1. ТЗ
● Десктоп приложение работает с
сервером, обмениваются данными.
● Приложение должно быть авто-
обновляемым.
● Сервер обновлений работает отдельно от
основного сервера.
Проект 1. Модули
● rest-server
● desktop-client
● rest-api
● updater-server
● updater-client
Проект 1. Диаграмма
rest-server.war updater-server.war
MySQL
dekstop-client.jar updater-client.jar
Glassfish Server
Application.exe
Проект 1. Цели
● сборка должна выполняться одной
кнопкой
● апдейтер клиент и десктоп клиент должны
собираться в один ехе-шник
● после сборки клиентского приложения
файлы для обновления клиента должны
отправляться на апдейтер сервер
● авто-деплой war-файлов после коммита
Проект 1. Решение
Сборка должна выполняться одной кнопкой
● Maven
● Каждый модуль знает как собрать себя
● Все модули имеют одного парента
● При запуске сборки парента, модули
собираются автоматически
Отсутпление 1: Apache Maven
● система управления проектом
● система управления зависимостями
● декларативное описание в формате xml
● стандартная структура каталогов
● расширяется плагинами
● подмял под себя практически весь опен-
сурс
Проект 1. Решение
Апдейтер клиент и десктоп клиент должны
собираться в один ехе-шник
● Ant + JavaFx native bundle packager
● Оба модуля собираются в jar-файлы
● Эти jar-файлы и их зависимости
скармливаются в JavaFx native bundle
packager антом
Отсупление 2: Apache Ant
● управление сборкой проекта
● императивное описание в формате xml
Проект 1. Решение
Файлы для обновления клиента
отправляются на апдейтер сервер
● Ant
● Результат сборки модулей пакуем в zip
● Отправляем zip в определенную
директорию в Glassfish-е
Проект 1. Решение
Авто деплой апдейтер и рест вар-ников
● Glassfish maven plugin
● remote re-deploy обоих модулей после
завершения сборки
Проект 1. Решение
Сборка после кажого коммита
● Jenkins CI
● Опрашиваем SVN каждые 5 минут
● Если есть коммит, запускаем сборку
парента
Отсупление 3: Jenkins
● автоматизация сборки проекта
● расширяется плагинами
● поддерживает Maven и Ant проекты
Проект 2. ТЗ
● 2 Веб-приложения на GWT
● Шаринг сессий между приложениями
Проект 2. Диаграмма
n-web-app.war shell-web-app.war
Oracle
Weblogic Server
Oracle
Часть вторая
про сегодняшний проект
Проект МС. ТЗ
● Десктоп приложение работает с
сервером, обмениваются данными.
● Приложения для Windows и Linux
Проект МС. Модули
● rest-server
● desktop-client
● rest-api
Проект МС. Диаграмма
rest-server.war
dekstop-client.jar
Glassfish Server
Application
Общий план
1. Создание модулей в гите
2. Серверная часть
3. Клиентская часть
4. Настройка Jenkins

More Related Content

PDF
Введение в maven
PDF
Иван Крутов - Автоматизация сборки Java-проекта
PPTX
Maven 3 : уличная магия
PPTX
Cистемы автоматической сборки проектов (Полина Фоминых)
PPTX
Gradle. Новый уровень автоматизации для Android
PPT
Maven как средство сборки проекта
PDF
"Electron. How the most modern framework works" Oleksii Holubiev
Введение в maven
Иван Крутов - Автоматизация сборки Java-проекта
Maven 3 : уличная магия
Cистемы автоматической сборки проектов (Полина Фоминых)
Gradle. Новый уровень автоматизации для Android
Maven как средство сборки проекта
"Electron. How the most modern framework works" Oleksii Holubiev

What's hot (20)

PDF
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
PPTX
Kubernetes
PPTX
Docker + Selenium Webdriver в рамках Continuous Integration
PDF
It meetup cd
PDF
"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov
PDF
Тестирование осень 2013 лекция 5
ODP
Обзор Continuous integration инструментов
PDF
CD with Jenkins. Lessons Learned
PDF
Григорий Петров "WebRTC в мобильных приложениях при помощи React Native"
PDF
Любовь Поволоцкая_Сборка Android-приложений с помощью Gradle
PPTX
Codeception + Docker + Robo и что из этого вышло
PDF
My talk on Docker from Moscow Django Meetup #25
PPTX
WebdriverIO + Puppeteer. Double gun – double fun
PDF
Python Development process in Yandex
PPTX
Менеджер пакетов NuGet
PDF
QA Fest 2019. Александр Хотемской. WebdriverIO + Puppeteer. Double gun - doub...
PDF
Как приручить реактивное программирование
PPTX
Курс Java-2016. Занятие 02. Пакеты, сборка проекта с Maven
PDF
Application deployment & configuration management
PPTX
Никита Галкин "Testing in Node.js World"
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
Kubernetes
Docker + Selenium Webdriver в рамках Continuous Integration
It meetup cd
"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov
Тестирование осень 2013 лекция 5
Обзор Continuous integration инструментов
CD with Jenkins. Lessons Learned
Григорий Петров "WebRTC в мобильных приложениях при помощи React Native"
Любовь Поволоцкая_Сборка Android-приложений с помощью Gradle
Codeception + Docker + Robo и что из этого вышло
My talk on Docker from Moscow Django Meetup #25
WebdriverIO + Puppeteer. Double gun – double fun
Python Development process in Yandex
Менеджер пакетов NuGet
QA Fest 2019. Александр Хотемской. WebdriverIO + Puppeteer. Double gun - doub...
Как приручить реактивное программирование
Курс Java-2016. Занятие 02. Пакеты, сборка проекта с Maven
Application deployment & configuration management
Никита Галкин "Testing in Node.js World"
Ad

Similar to Мастер класс- Maven + Jenkins (9)

PPTX
Непрерывная интеграция. Практическое применение
PPT
Сервлеты
PDF
Kubasov 1 7_deploy
PPT
Семинар по управлению проектами. Часть 3. Рабочие инструменты
PDF
Apache Maven presentation from BitByte conference
PDF
Анатолий Кондратьев, Exigen Services
PPTX
системы сборок проектов
PPTX
Diving into the Internet of Things with Java 10
PPTX
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
Непрерывная интеграция. Практическое применение
Сервлеты
Kubasov 1 7_deploy
Семинар по управлению проектами. Часть 3. Рабочие инструменты
Apache Maven presentation from BitByte conference
Анатолий Кондратьев, Exigen Services
системы сборок проектов
Diving into the Internet of Things with Java 10
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
Ad

Мастер класс- Maven + Jenkins

  • 2. Проект 1. ТЗ ● Десктоп приложение работает с сервером, обмениваются данными. ● Приложение должно быть авто- обновляемым. ● Сервер обновлений работает отдельно от основного сервера.
  • 3. Проект 1. Модули ● rest-server ● desktop-client ● rest-api ● updater-server ● updater-client
  • 4. Проект 1. Диаграмма rest-server.war updater-server.war MySQL dekstop-client.jar updater-client.jar Glassfish Server Application.exe
  • 5. Проект 1. Цели ● сборка должна выполняться одной кнопкой ● апдейтер клиент и десктоп клиент должны собираться в один ехе-шник ● после сборки клиентского приложения файлы для обновления клиента должны отправляться на апдейтер сервер ● авто-деплой war-файлов после коммита
  • 6. Проект 1. Решение Сборка должна выполняться одной кнопкой ● Maven ● Каждый модуль знает как собрать себя ● Все модули имеют одного парента ● При запуске сборки парента, модули собираются автоматически
  • 7. Отсутпление 1: Apache Maven ● система управления проектом ● система управления зависимостями ● декларативное описание в формате xml ● стандартная структура каталогов ● расширяется плагинами ● подмял под себя практически весь опен- сурс
  • 8. Проект 1. Решение Апдейтер клиент и десктоп клиент должны собираться в один ехе-шник ● Ant + JavaFx native bundle packager ● Оба модуля собираются в jar-файлы ● Эти jar-файлы и их зависимости скармливаются в JavaFx native bundle packager антом
  • 9. Отсупление 2: Apache Ant ● управление сборкой проекта ● императивное описание в формате xml
  • 10. Проект 1. Решение Файлы для обновления клиента отправляются на апдейтер сервер ● Ant ● Результат сборки модулей пакуем в zip ● Отправляем zip в определенную директорию в Glassfish-е
  • 11. Проект 1. Решение Авто деплой апдейтер и рест вар-ников ● Glassfish maven plugin ● remote re-deploy обоих модулей после завершения сборки
  • 12. Проект 1. Решение Сборка после кажого коммита ● Jenkins CI ● Опрашиваем SVN каждые 5 минут ● Если есть коммит, запускаем сборку парента
  • 13. Отсупление 3: Jenkins ● автоматизация сборки проекта ● расширяется плагинами ● поддерживает Maven и Ant проекты
  • 14. Проект 2. ТЗ ● 2 Веб-приложения на GWT ● Шаринг сессий между приложениями
  • 15. Проект 2. Диаграмма n-web-app.war shell-web-app.war Oracle Weblogic Server Oracle
  • 17. Проект МС. ТЗ ● Десктоп приложение работает с сервером, обмениваются данными. ● Приложения для Windows и Linux
  • 18. Проект МС. Модули ● rest-server ● desktop-client ● rest-api
  • 20. Общий план 1. Создание модулей в гите 2. Серверная часть 3. Клиентская часть 4. Настройка Jenkins