Рэліз платформы сумеснай распрацоўкі Kallithea 0.5

Прадстаўлены выпуск сістэмы кіравання рэпазітарамі Kallithea 0.5, заснаванай энтузіястамі і прадстаўнікамі арганізацыі Software Freedom Conservancy з мэтай працягу развіцця свабоднай кодавай базы RhodeCode, пасля ператварэння дадзенай платформы ў паўпрапрыетарны камерцыйны прадукт. Kallithea дазваляе разгарнуць інфраструктуру кіравання распрацоўкай, якая падтрымлівае сістэмы кантролю версій Git і Mercurial, і па развязальных задачах нагадвае GitHub, GitLab і Bitbucket. Код праекта напісаны на мове Python і распаўсюджваецца пад ліцэнзіяй GPLv3.

Kallithea уключае ў сябе высокапрадукцыйны сервер апрацоўкі push/pull-запытаў і вэб-інтэрфейс для арганізацыі сумеснай распрацоўкі, які дазваляе кіраваць рэпазітарамі, падзяляць правы доступу, рэцэнзаваць код, адсочваць актыўнасць іншых удзельнікаў, рабіць форкі праектаў, адпраўляць пул-рэквесты або змяняць код на месцы, праз просты рэдактар. Падтрымліваецца інтэграцыя з цэнтралізаванай базай карыстальнікаў прадпрыемства, заснаванай на LDAP ці ActiveDirectory. Падтрымліваецца стварэнне груп рэпазітароў і груп распрацоўшчыкаў з уніфікацыяй кіравання членамі групы. Вонкавы выгляд інтэрфейсу можа лёгка быць зменены праз сістэму шаблонаў. Падтрымліваецца нагляднае ўяўленне актыўнасці ў выглядзе графікаў. У сістэме рэцэнзавання змен падтрымліваецца абмеркаванне змен і адпраўка апавяшчэнняў.

Серверная частка платформы з'яўляецца шматструменнай, што дазваляе адначасова абслугоўваць некалькі pull/push-запытаў. Для павелічэння прадукцыйнасці ў сістэме актыўна выкарыстоўваецца кэшаванне і выкананне дзеянняў у асінхронным рэжыме. У сістэму інтэграваныя сродкі рэзервовага капіявання, якія дазваляюць перыядычна архіваваць і захоўваць праз "scp" копію ўсіх дадзеных. Для адсочвання актыўнасці ў рэпазітарах падтрымліваецца спецыяльная праслойка, якая вядзе часопіс усіх зваротаў і дазваляе аўтэнтыфікаваць кожны запыт. Для працы з рэпазітарамі задзейнічана бібліятэка шк, мета-дадзеныя аб праектах могуць захоўвацца ў SQLite, PostgreSQL або іншых БД, якія падтрымліваюцца ў SQLAlchemy.

Асноўныя змены:

  • Прадастаўлена магчымасць доступу да рэпазітара пры дапамозе SSH, выкарыстоўваючы URL выгляду «ssh://[электронная пошта абаронена]/name/of/repository». Аўтэнтыфікацыя пры звароце да рэпазітара праз SSH ажыццяўляецца на аснове адкрытага ключа карыстальніка (з дадатковай абаронай ключа паролем або без, у залежнасці ад перавагі карыстальніка). Загрузка ключа (~/.ssh/id_rsa.pub) на сервер ажыццяўляецца праз web-інтэрфейс Kallithea, які аўтаматызуе захаванне ключа ў файле authorized_keys. Адзначаецца, што прадукцыйнасць працы з рэпазітаром праз SSH вышэй, чым пры звароце да рэпазітара па HTTPS.
  • Дададзена падтрымка размеркаванай сістэмы кіравання версіямі Mercurial 5.2.
  • Перапрацаваная функцыя "Admin > Settings > Visual > (HTTP) Clone URL", апрацоўшчык якой зараз відавочна правярае наяўнасць радкоў "{repo}" і "_{repoid}".
  • Праведзена чыстка сістэмы правоў доступу - правы доступу заўсёды разглядаюцца толькі як дадатковыя, г.зн. гарантуецца, што ў любога карыстальніка як мінімум будуць тыя ж правы, што і ў карыстальніка па змаўчанні.
  • У канфігурацыйным файле арэкрашчана падтрымка налады api_access_controllers_whitelist. Аўтэнтыфікацыя праз ключ доступу да API зараз аўтаматычна дае доступ да ўсіх API, дазволеных карыстачу.
  • Спынена падтрымка Python 2.6. У цяперашні час падтрымліваецца толькі галінка Python 2.7, але распрацоўшчыкі працуюць над забеспячэннем паўнавартаснай падтрымкі Python 3.x.
  • Выдалена функцыя блакавання рэпазітара (pull-to-lock, push-to-unlock).

Крыніца: opennet.ru

Дадаць каментар