The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Новая версия сборочной среды ROSA ABF 2.0

24.04.2013 18:13

Компания «РОСА» объявила о выпуске новой версии среды разработки и сборки свободного программного обеспечения ROSA Automatic Build Farm (ABF) 2.0, позволяющая управлять всеми стадиями разработки дистрибутивов от создания исходного кода до сборки отдельных пакетов и ISO-образов. ABF не привязана к конкретному дистрибутиву и может использоваться для разработки различных типов дистрибутивов на основе RPM, DEB и других форматов пакетов. В частности, ABF используется как основная платформа для разработки дистрибутивов ROSA, OpenMandriva и Conectiva, кроме того работа ABF протестирована на сборке AltLinux, Fedora, openSUSE, Scientific Linux и RHEL. Исходные тексты открыты под лицензией GPLv2. Ядро ABF написано на языке Python, а web-интерфейс на Ruby с использованием Ruby on Rails. Для хранения исходные текстов пакетов задействована система контроля версий Git.

ABF позволяет собирать пакеты для всех поддерживаемых дистрибутивов, поддерживает сборку дистрибутива, предоставляет web-интерфейс для сопровождения процесса разработки c возможностью планирования работы, проведения обсуждений и обмена наработками между группами разработчиков и дистрибутивами. Ядро ABF составляют такие подсистемы, как система сборки (клиент и сервер для сборки пакетов из исходных кодов), менеджер сборки продуктов (формирование iso-образа дистрибутива) и компоненты поддержки сборки любых дистрибутивов. Web-интерфейс позволяет управлять всеми процессами разработки и сборки дистрибутивов СПО, а также организовать взаимодействия разработчиков, пользователей и мэйнтейнеров.

Основные новшества ABF 2.0:

  • REST API, позволяющий использовать ABF как платформу для различных приложений и сервисов, а также для автоматизации рутинных операций;
  • Pull Request - даёт возможность предложить изменения в git-репозитории других участников. После отправки такого запроса, все заинтересованные участники могут видеть, обсуждать и, при необходимости, редактировать код;
  • Построчное комментирование кода с использованием простого языка разметки Github Flavored Markdown. Вместе с возможностью обсуждать каждую строчку кода, возможность также предоставляет команде разработчиков хороший инструмент для дискуссий;
  • Трекер с реакцией на изменение кода, позволяющий отображать в задаче такие данные, как информация о сделанных изменениях в исходном коде, если в коммите был указан номер задачи, а также информация о других задачах и запросах на изменения исходного кода, если в них ссылались на данную. Теперь в задаче можно увидеть всю информацию о ней: обсуждения, коммиты, связанные задачи и запросы на изменения исходного кода (Pull Request).
  • Поддержка работы с Git через ssh избавляет разработчика от необходимости вводить пароль для совершения каждой операции и снимает ограничение на объем передаваемых данных;
  • Обновленная подсистема сборки пакетов, отличающаяся адаптацией для сборки под разные дистрибутивы и повышенным уровнем безопасности. Для каждой из сборок теперь используется чистая виртуальная машина. Также добавлены новые возможности по работе со сборочными заданиями и проведена унификация рабочих инструментов. Например, добавлена возможность отмены уже собирающегося задания и стал доступен автообновляемый общий лог процесса.
  • Добавлена возможность сравнения произвольных коммитов и веток в веб-интерфейсе;
  • Реализованы почтовые оповещения по различным аспектам системы и гибкие возможности настройки таких оповещений;
  • Подготовлен механизм массовых сборок.


  1. Главная ссылка к новости (http://www.rosalab.ru/blogs/ro...)
  2. OpenNews: Компания Роса открыла код сборочной среды ABF
  3. OpenNews: Компания Роса анонсировала сборочную среду ABF и порт Mock для работы с urpmi
Автор новости: Константин
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/36776-abf
Ключевые слова: abf, rosa
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (41) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 23:04, 24/04/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Что-то нигде не видно, как эту вещь развернуть у себя.
    Документации ноль. А жаль, хорошая вещь наверное...
     
     
  • 2.2, Аноним (-), 23:52, 24/04/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    http://abf-doc.rosalinux.ru/abf/deployment/ - разворачивайте на здоровье)
     
     
  • 3.4, Аноним (-), 00:29, 25/04/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Хм, это уже что-то, спасибо.
    Правда установка в обход пакетного менеджера... но это такое, по крайней мере можно понять что нужно для запуска.

    Ещё вопрос, может быть знаете. Можно ли с помощью ABF собирать, скажем, бинарные пакеты для Slackware? И если да - много ли танцев с бубном нужно для этого?

     
     
  • 4.5, Аноним (-), 01:13, 25/04/2013 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Для этого нужны скрипты для поддержки Slackware, то есть рассказать, как собирать и публиковать пакеты:
    http://abf-doc.rosalinux.ru/abf/scripts/ - документация по их написанию и примеры для Rosa и RHEL, а также подготовить виртуальную машину, которая будет средой для сборки. В случае со Slackware такая виртуальная машина уже есть (http://www.vagrantbox.es/), но ее всегда можно сделать и самостоятельно.  В целом ничего сложного, немного понять специфику инициализации сборки и знать команды, которые ПО собирается, а затем публикуется в репозитории в Slackware.

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

    К сожалению, лично с Slackware не знаком, поэтому не могу сказать точно относительно управление репозиториями. Возможно проблема с представлением репозиториев, на текущий момент их двухуровневая структура тяготеет к RHEL-based дистрибутивам. То есть платформа (версия дистрибутва, например Rosa 2012.1) и набор репозиториев (main, contrib, non-free...).
    Если Slackware может лечь в такую структуру, то никаких проблем быть не должно.

    Все остальное уже автоматизировано в самом ABF, одна из идей, лежаших в его основе — поддержка множества различных дистрибутивов с помощью их родных инструментов. Соотвественно все механизмы управления через веб-интерфейс и API будет доступно и для Slackware без каких-либо правок.

     
     
  • 5.6, Аноним (-), 01:20, 25/04/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Отлично, спасибо за подробное описание!
    Как появится чуть времени, обязательно поразбираюсь подробнее.

    Исходники, как я понял по примеру, предполагается хранить в одном виде - например, в git. Что в принципе логично, для унификации.
    А что сама сборка - обычный shell-скрипт - вообще превосходно, можно что угодно собрать :)
    Пока что мне нравится.

     
  • 4.7, Аноним (-), 08:44, 25/04/2013 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Типа как PostgreSQL от Ethersoft ставится сама по себе. Потом не переустановить, не удалить, вгрызается намертво - проще систему снести и заново поставить.
     
     
  • 5.8, Аноним (-), 12:04, 25/04/2013 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Это совсем не так. Это типичный способ установки для Ruby on Rails проектов из-за того, что у него существует своя пакетная система зависимостей в виде gems. Никаких изменений в системные файлы он не вносит, удаляется просто удалением директории.

    Чтобы не быть голословным, вот, к примеру, один из самых известных проектов на Ruby on Rails: http://www.redmine.org/projects/redmine/wiki/RedmineInstall. Как вы можете заметить, он устанавливается подобно ABF.

     
  • 5.9, Аноним (-), 12:07, 25/04/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Под виндавс что-ли ставите? Даже там можно удалить почти все.
     
  • 4.10, hummermania (ok), 12:43, 25/04/2013 [^] [^^] [^^^] [ответить]  
  • +/
    А вы гляньте деплой gitlabhq - что самое интересное поднимается один в один, без пинков.
    https://github.com/gitlabhq/gitlabhq/blob/5-0-stable/doc/install/installation.
     
  • 3.43, solo_oboroten (ok), 12:08, 19/08/2013 [^] [^^] [^^^] [ответить]  
  • +/
      До пункта "Startup ABF" инструкция более менее понятна. А сам "Startup ABF" вызывает вопросы:

    1. По мимо сервера, на который производится установка, появляются некая "DEV machine"... Что это, и как настраивать?

    2. Из инструкции непонятно, откуда брать код ABF и куда именно помещать в подготовленной структуре каталогов. (Скорее всего с http://abf.rosalinux.ru/abf/rosa-build.git или с git://github.com/rosa-abf/rosa-build.git. Но какой именно коммит 2.0 -- теги то не стоят.)

    3. Появляется утилита cap. Что это компонент capistrano -- я понял. Но как этого зверя настраивать?

      Есть ли более подробная инструкция? Для тех кто ruby первый раз видит и не представляет, как готовить ruby приложения к развёртыванию?

     

  • 1.11, Аноним (-), 13:28, 25/04/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >2. Ядро ABF написано на языке Python, а web-интерфейс на Ruby с использованием Ruby on Rails.

    На текущий момент ядро полностью переписано на Ruby и Bash.

     
     
  • 2.12, Аноним (-), 14:40, 25/04/2013 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > На текущий момент ядро полностью переписано на Ruby и Bash.

    Не надо так пугать, я в первую секунду про другое ядро подумал, которое Linux. Чуть инфаркт не схватил.

     

  • 1.13, Аноним (-), 16:27, 25/04/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ладно, ядро написано на питоне, а веб интерфейс, почему на рельсах, а не на чем то другом?
     
     
  • 2.14, Аноним (-), 16:45, 25/04/2013 [^] [^^] [^^^] [ответить]  
  • +/
    А чем плох Ruby on Rails? Один из лучших не только на мой взгляд на сегодняшний момент инструментов для веба.

    Повторюсь, новая подсистема сборки (ядро) написано на Ruby, первая версия была на Python.

     
     
  • 3.15, Kanstantsin Shautsou (?), 17:57, 25/04/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > А чем плох Ruby on Rails? Один из лучших не только на
    > мой взгляд на сегодняшний момент инструментов для веба.
    > Повторюсь, новая подсистема сборки (ядро) написано на Ruby, первая версия была на
    > Python.

    Тем что пишите на одном языке, потом неудобно дебажить и развивать.

     
     
  • 4.18, Аноним (-), 19:07, 25/04/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >> А чем плох Ruby on Rails? Один из лучших не только на
    >> мой взгляд на сегодняшний момент инструментов для веба.
    >> Повторюсь, новая подсистема сборки (ядро) написано на Ruby, первая версия была на
    >> Python.
    > Тем что пишите на одном языке, потом неудобно дебажить и развивать.

    Не совсем вас понял. Каким образом концентрация на одном языке ухудшила проект? У нас обратный опыт: после перехода на один язык мы стали развиваться значительно быстрее, так как всем проектом целиком стала заниматься одна команда. Экосистема библиотек в Ruby потрясающая, а отладка на языке, который ты хорошо знаешь, куда приятнее, чем в том, с котором мало знаком. К тому же ABF представляет собой не монолитное приложение, а набор подсистем, неплохо изолированных друг от друга и общающихся через строго определенное API.

     
     
  • 5.19, Kanstantsin Shautsou (?), 19:10, 25/04/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > команда. Экосистема библиотек в Ruby потрясающая,

    Я наблюдаю за развитием OBS, как раз таки rubygemы - головная боль. Обновление версий туда сюда из-за багов + их задолбательно пакетировать в объеме 100 пакетов.

     
     
  • 6.20, Xlab (ok), 19:18, 25/04/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Правильное использование инструментов позволит избежать запары с версиями. А то, что пакетирование не успевает за прогрессом - это издержки процесса, который в таком случае явно отстаёт.
     
     
  • 7.26, Kanstantsin Shautsou (?), 19:36, 25/04/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Это уровень сырости и нестабильности rubygemов.
     
     
  • 8.30, Аноним (-), 20:52, 25/04/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Топовые гемы активно развиваются и проверены на множестве серьезных проектов То... текст свёрнут, показать
     
     
  • 9.34, integer (ok), 01:43, 26/04/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Решето проверено Портировал OBS на fedora в обсе У гемов качество настольк... текст свёрнут, показать
     
     
  • 10.35, Аноним (-), 01:54, 26/04/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще в gemfile lock всегда прописаны конкретные версии во всех Ruby-проектах ... текст свёрнут, показать
     
     
  • 11.36, integer (ok), 01:58, 26/04/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Еще раз, в финальной рпм спеке указывается версия не, например, 2 1 x 3, а кон... текст свёрнут, показать
     
     
  • 12.38, Аноним (-), 03:17, 26/04/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Вы пытаетесь применить правила из RPM к совершенно другой экосистеме 8212 gem... текст свёрнут, показать
     
  • 5.27, Kanstantsin Shautsou (?), 19:43, 25/04/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >[оверквотинг удален]
    >>> Python.
    >> Тем что пишите на одном языке, потом неудобно дебажить и развивать.
    > Не совсем вас понял. Каким образом концентрация на одном языке ухудшила проект?
    > У нас обратный опыт: после перехода на один язык мы стали
    > развиваться значительно быстрее, так как всем проектом целиком стала заниматься одна
    > команда. Экосистема библиотек в Ruby потрясающая, а отладка на языке, который
    > ты хорошо знаешь, куда приятнее, чем в том, с котором мало
    > знаком. К тому же ABF представляет собой не монолитное приложение, а
    > набор подсистем, неплохо изолированных друг от друга и общающихся через строго
    > определенное API.

    Имелось ввиду как раз использовать один язык.

     
  • 3.24, Аноним (-), 19:33, 25/04/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Один из лучших не только на мой взгляд на сегодняшний момент инструментов для веба.

    Скорее, худший. Тормозной, дырявый и кошмарно через одно место развёртываемый.

     
     
  • 4.31, Аноним (-), 21:31, 25/04/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Скорее, худший. Тормозной, дырявый и кошмарно через одно место развёртываемый.

    Этим страдают все подобные инструменты. Рельсы среди них в этом плане ничем не выделяются.

     

  • 1.16, Kanstantsin Shautsou (?), 18:10, 25/04/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чем вам не подходил OBS и koji?
     
     
  • 2.17, Аноним (-), 18:57, 25/04/2013 [^] [^^] [^^^] [ответить]  
  • +/
    OBS наиболее близок к нам из-за его идеологии поддержки множества дистрибутивов, но это только система сборки, при этом нам нравилась идея Launchpad: все на одной площадке от разработки до сборки, то есть хостинг исходного кода, но нам больше нравиться git, а не bazaar, интерфейс для работы с ним лучше всех  пока у Github. В итоге и получлся ABF.

    У OBS вся сборочная подсистема написана на perl, сам проект на момент старта разработки ABF практически не развивался (сейчас ситуация поменялась, насколько могу судить), а интерфейс был далек от понимания, версия Rails устарели и видимых шагов к обновлению не было, с документацией тоже было не все гладко. Учитывая наши требования, нам бы практически с самого начала пришлось бы форкать проект, поэтому от этого пришлось отказаться.

    Koji замкнут на конкретную платформу и тоже является только сборочным инструментом. Безусловно, хорошим инструментом, как и OBS, но объем переделок опять приводило к тому, что нам пришлось бы делать форк, а еще разбираваться в немалом объеме чужого кода. Например, персональные репозитории (aka PPA) есть в данный момент только у OBS и Launchpad в явном виде.

    Launchpad замкнут на конкретную платформу и систему исходного кода bazaar, представляет наиболее современный из всех 3, кроме ABF, веб-интерфейс и написан на Python. Много плюсов, но проект немаленький и опять пришлось бы делать форк практически со старта.

    Взвесив все плюсы и минусы решили попробывать написать свое решение.  Собственно в данный момент ABF мало уступает своим собратьем по цеху и при этом активно разивается, построен на современных технологиях (проще принять участие, нет возни с legacy кодом), покрыт тестами (больше 2000 автоматизированных тестов), работает как сервис для широкого круга пользователей, представляет современный веб-интерфейс и мы сами является апстримом для него. Проверить все это можно своими глазами - регистрация на ABF свободная.

    Вообщем больше решений хороших и разных!

     
     
  • 3.21, Kanstantsin Shautsou (?), 19:23, 25/04/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Это система имеющая внутреннюю SCM, сборку пакетов и образов, а также генерацию ... большой текст свёрнут, показать
     
     
  • 4.29, Аноним (-), 20:46, 25/04/2013 [^] [^^] [^^^] [ответить]  
  • +/
    В этом и проблема, что внутреннюю Отличный показатель того, что внутренняя сист... большой текст свёрнут, показать
     
     
  • 5.33, integer (ok), 01:38, 26/04/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Так было у большинства компаний Разработка ПО ведется на компах девелоперов ... большой текст свёрнут, показать
     
     
  • 6.37, Аноним (-), 03:12, 26/04/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Давайте не лукавить Launchpad представляет собой полноценную платформу для хост... большой текст свёрнут, показать
     
     
  • 7.39, integer (ok), 15:37, 26/04/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Сборочная среда должна заниматься сборками Ну вобщем теперь понятно, вам нужна ... большой текст свёрнут, показать
     
     
  • 8.41, Alexey (??), 15:57, 26/04/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Велосипед тоже средство передвижения, но на машине удобнее http en wikipedia ... текст свёрнут, показать
     
     
  • 9.42, Led (ok), 01:36, 27/04/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Да неужели Прям так категорично ... текст свёрнут, показать
     
  • 2.22, Аноним (-), 19:23, 25/04/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Один классик отечественного СПО говорил - компания-разработчик дистрибутива, у которой нет собственной системы разработки и сборки по полному циклу, не может считаться серьезной. Тем более РОСА играет в игры по обеспечению технологической независимости страны, тут они не могут обойтись без разработки своих инструментов.
     
     
  • 3.23, Kanstantsin Shautsou (?), 19:26, 25/04/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Один классик отечественного СПО говорил - компания-разработчик дистрибутива, у которой
    > нет собственной системы разработки и сборки по полному циклу, не может
    > считаться серьезной. Тем более РОСА играет в игры по обеспечению технологической
    > независимости страны, тут они не могут обойтись без разработки своих инструментов.

    Тогда зачем им git? :)

     
  • 3.25, Аноним (-), 19:34, 25/04/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Один классик отечественного СПО говорил - компания-разработчик дистрибутива, у которой
    > нет собственной системы разработки и сборки по полному циклу, не может
    > считаться серьезной.

    А "классик отечественного СПО" может серьёзным считаться, особенно после таких идиотских заявлений?

     
     
  • 4.28, Аноним (-), 19:54, 25/04/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >> Один классик отечественного СПО говорил - компания-разработчик дистрибутива, у которой
    >> нет собственной системы разработки и сборки по полному циклу, не может
    >> считаться серьезной.
    > А "классик отечественного СПО" может серьёзным считаться, особенно после таких идиотских
    > заявлений?

    Спросите у классика сами. Его секретный ID - aen ;)

     
  • 4.40, vle (ok), 15:43, 26/04/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Как бы там ни было, "классик отечественного СПО" свою систему построил,
    и по ряду показателей вполне успешно, а в определенные моменты истории
    более, чем достойно, если сравнивать с буржуйскими аналогами. Сейчас есть
    новые люди с другими взглядами и установками, все-таки несколько иной
    виток истории СПО как в СНГ, так и в мире.
    Но от этого 1-й не становится 21-м, 1-й -- он всегда останется первым!
    Так что, я думаю, в этом месте можно обойтись без иронии ;-)
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру