SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
ABF — система для
совместной разработки
свободного ПО

Роман Вялов
Владимир Рубанов
Евгений Соколов
Владимир Шаршов (докладчик)

ROSA Lab
Что такое ABF?

Automatic Build Farm (ABF) —
интегрированная система для совместной
разработки ПО:

● Хостинг проектов
● Система сборки

● Проектная wiki

● Проектный трекер задач
Что такое ABF?

Automatic Build Farm (ABF) —
интегрированная система для совместной
разработки ПО:

● Хостинг проектов
● Система сборки

● Проектная wiki

● Проектный трекер задач
ABF для разработчика


● Git-репозиторий
● Легковесный проектный трекер задач


● Проектная (контекстная) вики


● Площадка для обмена и обсуждения

  кода (PullRequest)
● Веб-интерфейс для работы с git


● Автоматизированный workflow
ABF для майтейнера


● Сборка проектов под разные
  дистрибутивы и архитектуры
● Частные репозитории

● Удобный мониторинг задач

● Сборка ISO
ABF: основные идеи

● Хостинг, разработка и сборка кода должны
  быть доступны на единой площадке
● Пользовательский интерфейс - важная

  часть системы
● Поддержка разработки множества

  различных дистрибутивов
● Собрать свой образ дистрибутива должно

  быть не просто, а очень просто
● Персональный репозиторий каждому

  пользователю
● Всесторонние автоматические проверки

  пакетов залог здоровья репозитория
Избранные возможности


●   Запросы на изменения (PullRequest)
●   Интегрированная проектная wiki
●   Приватные проекты
●   Частные репозитории
Чем ABF не является?


● Системой сборки с мета-спеком для
  множества дистрибутивов
● Системой, полностью повторяющей весь

  процесс сборки для всех дистрибутивов
● Лучшим решением из всех для всех
Зачем для ROSA?


● Замена морально устаревшей и
  неподдерживаемой системы Kenobi
● Собственный инструмент разработки и

  сборки (с возможностью автоматизации
  специализированных сценариев работы)
● Объедение сообщества Mandriva
Архитектура: идея
Архитектура: как на самом деле
Архитектура: в разработке
Функции веб-подсистемы

● Аутентификация и авторизация
  пользователей для всех подсистем
● Пользовательский интерфейс для

  управления элементами системы
● Управление заданиями для ядра

  сборочной системы пакетов и клиентов
  сборки образов
● Сопутствующие службы: проектный

  трекер задач, wiki, PullRequest, лента
  активности...
Функции системы хранения
             исходного кода


●
    Хранение кода в git-репозиториях
●   Отдача/приемка исходного кода

    Обрабатывает следующие команды: git
    pull, git push...
    Вместе с веб-подсистемой образуют
    систему хостинга проектов
Функции ядра сборочной системы

● Управление платформами (дистрибутивами) и
  репозиториями
● Формирование заданий на сборку (сборочных

  листов) по заявки от веб-подсистемы
● Информирование веб-подсистемы об изменениях

  статуса задачи
● Диспетчеризация сборочных листов между

  клиентами
● Поддержка репозитория: публикация сборочных

  листов(контейнеров), генерация мета-данных, ...

    Вместе со сборочным клиентом образуют систему
    сборки
Функции ядра сборочной системы

● Управление платформами (дистрибутивами) и
  репозиториями
● Формирование заданий на сборку (сборочных

  листов) по заявки от веб-подсистемы
● Информирование веб-подсистемы об изменениях

  статуса задачи
● Диспетчеризация сборочных листов между

  клиентами
● Поддержка репозитория: публикация сборочных

  листов(контейнеров), генерация мета-данных, ...

    Вместе со сборочным клиентом образуют систему
    сборки
Функции клиента для репозитория

● Публикация сборочных листов(контейнеров)
● Генерация мета-данных
Функции сборочного клиента

● Информирование ядра о ходе сборки
● Передача результатов

  сборки(контейнера)
● Сборка сборочного листа:

    ●   В доверенной среде
    ●   Повторяемая
    ●   Родными инструментами дистрибутива
    ●   С обратными зависимостями
Функции сборочного клиента

● Информирование ядра о ходе сборки
● Передача результатов

  сборки(контейнера)
● Сборка сборочного листа:

    ●   В доверенной среде
    ●   Повторяемая
    ●   Родными инструментами дистрибутива
    ●   С обратными зависимостями
Передача информации
Планы на ближайшее будущее

● REST API для управления сборочными
  заданиями
● Интеграция автоматических тестов

  (rpmlint, LSB, LTP и др.)
● Консольный клиент работы с ABF
ABF: динамика разработки
Что используем
Где посмотреть «в живую» и
             поучаствовать

                   https://abf.rosalinux.ru
               https://abf.rosalinux.ru/abf/abf
http://wiki.rosalab.ru/ru/index.php/Категория:Сборочная_среда_ABF


                           E-mail:
                  roman.vyalov@rosalab.ru
                    rubanov@rosalab.ru
                 eugene.sokolov@rosalab.ru
                vladimir.sharshov@rosalab.ru

Contenu connexe

Tendances

Tendances (20)

"Доклад не про React", Антон Виноградов, MoscowJS 27
"Доклад не про React", Антон Виноградов, MoscowJS 27"Доклад не про React", Антон Виноградов, MoscowJS 27
"Доклад не про React", Антон Виноградов, MoscowJS 27
 
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25
 
Разработка мобильного и веб интерфейса для Caché
Разработка мобильного и веб интерфейса для CachéРазработка мобильного и веб интерфейса для Caché
Разработка мобильного и веб интерфейса для Caché
 
2 Продуктивность работы в IDE; Разработка для Windows 10 Store
2 Продуктивность работы в IDE; Разработка для Windows 10 Store2 Продуктивность работы в IDE; Разработка для Windows 10 Store
2 Продуктивность работы в IDE; Разработка для Windows 10 Store
 
Крыша 2.0
Крыша 2.0Крыша 2.0
Крыша 2.0
 
vSphereTools - инструмент для автоматизации работы с vSphere | Тимур Гильмуллин
vSphereTools - инструмент для автоматизации работы с vSphere | Тимур ГильмуллинvSphereTools - инструмент для автоматизации работы с vSphere | Тимур Гильмуллин
vSphereTools - инструмент для автоматизации работы с vSphere | Тимур Гильмуллин
 
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...
 
Marrow
MarrowMarrow
Marrow
 
API: взгляд потребителя
API: взгляд потребителяAPI: взгляд потребителя
API: взгляд потребителя
 
Web and mobile development for intersystems caché, Eduard Lebedyuk
Web and mobile development for intersystems caché, Eduard LebedyukWeb and mobile development for intersystems caché, Eduard Lebedyuk
Web and mobile development for intersystems caché, Eduard Lebedyuk
 
JavaScript завтра
JavaScript завтраJavaScript завтра
JavaScript завтра
 
React + Redux. Опыт использования
React + Redux. Опыт использованияReact + Redux. Опыт использования
React + Redux. Опыт использования
 
66 - Spring. Spring и JSF
66 - Spring. Spring и JSF66 - Spring. Spring и JSF
66 - Spring. Spring и JSF
 
DrupalCafe #2: Константин Комелин - Drupal 8: Aut Caesar aut nihil
DrupalCafe #2: Константин Комелин - Drupal 8: Aut Caesar aut nihilDrupalCafe #2: Константин Комелин - Drupal 8: Aut Caesar aut nihil
DrupalCafe #2: Константин Комелин - Drupal 8: Aut Caesar aut nihil
 
Андрей Чебукин "Построение успешных API"
Андрей Чебукин "Построение успешных API"Андрей Чебукин "Построение успешных API"
Андрей Чебукин "Построение успешных API"
 
141 - Spring. Добавление контроллеров Spring MVC
141 - Spring. Добавление контроллеров Spring MVC141 - Spring. Добавление контроллеров Spring MVC
141 - Spring. Добавление контроллеров Spring MVC
 
Использовании TypeScript для Node.js
Использовании TypeScript для Node.jsИспользовании TypeScript для Node.js
Использовании TypeScript для Node.js
 
Евгений Остапчук "Tips&Tricks for ASP.NET MVC performance"
Евгений Остапчук "Tips&Tricks for ASP.NET MVC performance"Евгений Остапчук "Tips&Tricks for ASP.NET MVC performance"
Евгений Остапчук "Tips&Tricks for ASP.NET MVC performance"
 
Что нового в ASP.NET 5
Что нового в ASP.NET 5Что нового в ASP.NET 5
Что нового в ASP.NET 5
 
Vagrant puppet
Vagrant puppetVagrant puppet
Vagrant puppet
 

Similaire à Abf

Иван Крутов - Автоматизация сборки Java-проекта
Иван Крутов - Автоматизация сборки Java-проектаИван Крутов - Автоматизация сборки Java-проекта
Иван Крутов - Автоматизация сборки Java-проекта
Yandex
 
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Anton Baranov
 
Многофункциональный сервер приложений, обеспечивающий среду запуска, и дающий...
Многофункциональный сервер приложений, обеспечивающий среду запуска, и дающий...Многофункциональный сервер приложений, обеспечивающий среду запуска, и дающий...
Многофункциональный сервер приложений, обеспечивающий среду запуска, и дающий...
GeeksLab Odessa
 
Remote (dev)tools своими руками
Remote (dev)tools своими рукамиRemote (dev)tools своими руками
Remote (dev)tools своими руками
Roman Dvornov
 
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
Anthony Marchenko
 
Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)
Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)
Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)
Ontico
 
Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)
Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)
Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)
Ontico
 

Similaire à Abf (20)

Иван Крутов - Автоматизация сборки Java-проекта
Иван Крутов - Автоматизация сборки Java-проектаИван Крутов - Автоматизация сборки Java-проекта
Иван Крутов - Автоматизация сборки Java-проекта
 
Impress Application Server for node.js (ru)
Impress Application Server for node.js (ru)Impress Application Server for node.js (ru)
Impress Application Server for node.js (ru)
 
Экскурс в мир WEB разработки
Экскурс в мир WEB разработкиЭкскурс в мир WEB разработки
Экскурс в мир WEB разработки
 
Павел Брылов, Skype
Павел Брылов, SkypeПавел Брылов, Skype
Павел Брылов, Skype
 
Robot Framework: универсальный инструмент автоматизатора
Robot Framework: универсальный инструмент автоматизатораRobot Framework: универсальный инструмент автоматизатора
Robot Framework: универсальный инструмент автоматизатора
 
JPHP
JPHPJPHP
JPHP
 
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
 
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
 
Многофункциональный сервер приложений, обеспечивающий среду запуска, и дающий...
Многофункциональный сервер приложений, обеспечивающий среду запуска, и дающий...Многофункциональный сервер приложений, обеспечивающий среду запуска, и дающий...
Многофункциональный сервер приложений, обеспечивающий среду запуска, и дающий...
 
Remote (dev)tools своими руками
Remote (dev)tools своими рукамиRemote (dev)tools своими руками
Remote (dev)tools своими руками
 
Типовая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesТиповая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive Technologies
 
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовРеализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
 
Open Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practicesOpen Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practices
 
1С-Битрикс - Производительность
1С-Битрикс - Производительность1С-Битрикс - Производительность
1С-Битрикс - Производительность
 
Масштабируемая архитектура фронтенда
Масштабируемая архитектура фронтендаМасштабируемая архитектура фронтенда
Масштабируемая архитектура фронтенда
 
YaC 2013 Notes
YaC 2013 NotesYaC 2013 Notes
YaC 2013 Notes
 
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
 
Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)
Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)
Кит на службе у человека microPaaS Deis / Алексей Медведчиков (2ГИС)
 
NetBeans 6.0 Desktop
NetBeans 6.0 DesktopNetBeans 6.0 Desktop
NetBeans 6.0 Desktop
 
Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)
Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)
Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)
 

Plus de RosaLab

Ross2013 rubanov
Ross2013 rubanovRoss2013 rubanov
Ross2013 rubanov
RosaLab
 
тройка
тройкатройка
тройка
RosaLab
 
калмыков росс 2013
калмыков росс 2013калмыков росс 2013
калмыков росс 2013
RosaLab
 
Защищенные системы Rosa
Защищенные системы RosaЗащищенные системы Rosa
Защищенные системы Rosa
RosaLab
 
Функции системы ROSA Sputnik
Функции системы ROSA SputnikФункции системы ROSA Sputnik
Функции системы ROSA Sputnik
RosaLab
 
Dream product LinuxCon Europe Europe
Dream product LinuxCon Europe EuropeDream product LinuxCon Europe Europe
Dream product LinuxCon Europe Europe
RosaLab
 

Plus de RosaLab (7)

Ross2013 rubanov
Ross2013 rubanovRoss2013 rubanov
Ross2013 rubanov
 
тройка
тройкатройка
тройка
 
калмыков росс 2013
калмыков росс 2013калмыков росс 2013
калмыков росс 2013
 
Защищенные системы Rosa
Защищенные системы RosaЗащищенные системы Rosa
Защищенные системы Rosa
 
Функции системы ROSA Sputnik
Функции системы ROSA SputnikФункции системы ROSA Sputnik
Функции системы ROSA Sputnik
 
Dream product LinuxCon Europe Europe
Dream product LinuxCon Europe EuropeDream product LinuxCon Europe Europe
Dream product LinuxCon Europe Europe
 
Rpm5
Rpm5Rpm5
Rpm5
 

Abf

  • 1. ABF — система для совместной разработки свободного ПО Роман Вялов Владимир Рубанов Евгений Соколов Владимир Шаршов (докладчик) ROSA Lab
  • 2. Что такое ABF? Automatic Build Farm (ABF) — интегрированная система для совместной разработки ПО: ● Хостинг проектов ● Система сборки ● Проектная wiki ● Проектный трекер задач
  • 3. Что такое ABF? Automatic Build Farm (ABF) — интегрированная система для совместной разработки ПО: ● Хостинг проектов ● Система сборки ● Проектная wiki ● Проектный трекер задач
  • 4. ABF для разработчика ● Git-репозиторий ● Легковесный проектный трекер задач ● Проектная (контекстная) вики ● Площадка для обмена и обсуждения кода (PullRequest) ● Веб-интерфейс для работы с git ● Автоматизированный workflow
  • 5. ABF для майтейнера ● Сборка проектов под разные дистрибутивы и архитектуры ● Частные репозитории ● Удобный мониторинг задач ● Сборка ISO
  • 6. ABF: основные идеи ● Хостинг, разработка и сборка кода должны быть доступны на единой площадке ● Пользовательский интерфейс - важная часть системы ● Поддержка разработки множества различных дистрибутивов ● Собрать свой образ дистрибутива должно быть не просто, а очень просто ● Персональный репозиторий каждому пользователю ● Всесторонние автоматические проверки пакетов залог здоровья репозитория
  • 7. Избранные возможности ● Запросы на изменения (PullRequest) ● Интегрированная проектная wiki ● Приватные проекты ● Частные репозитории
  • 8. Чем ABF не является? ● Системой сборки с мета-спеком для множества дистрибутивов ● Системой, полностью повторяющей весь процесс сборки для всех дистрибутивов ● Лучшим решением из всех для всех
  • 9. Зачем для ROSA? ● Замена морально устаревшей и неподдерживаемой системы Kenobi ● Собственный инструмент разработки и сборки (с возможностью автоматизации специализированных сценариев работы) ● Объедение сообщества Mandriva
  • 11. Архитектура: как на самом деле
  • 13. Функции веб-подсистемы ● Аутентификация и авторизация пользователей для всех подсистем ● Пользовательский интерфейс для управления элементами системы ● Управление заданиями для ядра сборочной системы пакетов и клиентов сборки образов ● Сопутствующие службы: проектный трекер задач, wiki, PullRequest, лента активности...
  • 14. Функции системы хранения исходного кода ● Хранение кода в git-репозиториях ● Отдача/приемка исходного кода Обрабатывает следующие команды: git pull, git push... Вместе с веб-подсистемой образуют систему хостинга проектов
  • 15. Функции ядра сборочной системы ● Управление платформами (дистрибутивами) и репозиториями ● Формирование заданий на сборку (сборочных листов) по заявки от веб-подсистемы ● Информирование веб-подсистемы об изменениях статуса задачи ● Диспетчеризация сборочных листов между клиентами ● Поддержка репозитория: публикация сборочных листов(контейнеров), генерация мета-данных, ... Вместе со сборочным клиентом образуют систему сборки
  • 16. Функции ядра сборочной системы ● Управление платформами (дистрибутивами) и репозиториями ● Формирование заданий на сборку (сборочных листов) по заявки от веб-подсистемы ● Информирование веб-подсистемы об изменениях статуса задачи ● Диспетчеризация сборочных листов между клиентами ● Поддержка репозитория: публикация сборочных листов(контейнеров), генерация мета-данных, ... Вместе со сборочным клиентом образуют систему сборки
  • 17. Функции клиента для репозитория ● Публикация сборочных листов(контейнеров) ● Генерация мета-данных
  • 18. Функции сборочного клиента ● Информирование ядра о ходе сборки ● Передача результатов сборки(контейнера) ● Сборка сборочного листа: ● В доверенной среде ● Повторяемая ● Родными инструментами дистрибутива ● С обратными зависимостями
  • 19. Функции сборочного клиента ● Информирование ядра о ходе сборки ● Передача результатов сборки(контейнера) ● Сборка сборочного листа: ● В доверенной среде ● Повторяемая ● Родными инструментами дистрибутива ● С обратными зависимостями
  • 21. Планы на ближайшее будущее ● REST API для управления сборочными заданиями ● Интеграция автоматических тестов (rpmlint, LSB, LTP и др.) ● Консольный клиент работы с ABF
  • 24. Где посмотреть «в живую» и поучаствовать https://abf.rosalinux.ru https://abf.rosalinux.ru/abf/abf http://wiki.rosalab.ru/ru/index.php/Категория:Сборочная_среда_ABF E-mail: roman.vyalov@rosalab.ru rubanov@rosalab.ru eugene.sokolov@rosalab.ru vladimir.sharshov@rosalab.ru