Lansarea platformei de dezvoltare colaborativă Kallithea 0.5

Prezentat lansarea sistemului de gestionare a repositoarelor Kallithea 0.5, fondată de către entuziaști și reprezentanți ai organizației Software Freedom Conservancy pentru a continua dezvoltarea bazei de cod liber RhodeCode, după transformarea acestei platforme într-un produs comercial semi-proprietar. Kallithea permite implementarea unei infrastructuri de gestionare a dezvoltării, care suportă sisteme de control al versiunilor Git și Mercurial, și în ceea ce privește problemele abordate, este similar cu GitHub, GitLab și Bitbucket. Codul proiectului este scris în limbajul Python și se răspândește sub licența GPLv3.

Kallithea include un server de înaltă performanță pentru procesarea cererilor de push/pull și o interfață web pentru organizarea colaborării în dezvoltare, care permite gestionarea repositoarelor, împărțirea drepturilor de acces, revizuirea codului, monitorizarea activității altor participanți, fork-uri ale proiectelor, trimiterea de cereri de pull sau modificarea codului pe loc, prin intermediul unui editor simplu. Se susține integrarea cu o bază centralizată de utilizatori a întreprinderii, bazată pe LDAP sau Active Directory. Este suportată crearea de grupuri de repositoare și grupuri de dezvoltatori cu unificarea gestionării membrilor grupului. Aspectul interfeței poate fi ușor modificat printr-un sistem de șabloane. Se susține o reprezentare vizuală a activității sub formă de grafice. În sistemul de revizuire a modificărilor se suportă discutarea modificărilor și trimiterea de notificări.

Partea server a platformei este multi-threaded, ceea ce permite deservirea simultană a mai multor cereri de pull/push. Pentru a crește performanța, în sistem se folosește activ caching-ul și executarea acțiunilor în modul asincron. Sistemul integrează mijloace de backup, care permit arhivarea periodică și salvarea unei copii a tuturor datelor prin „scp”. Pentru a urmări activitatea în repositoare, se susține un strat special care păstrează un jurnal al tuturor solicitărilor și permite autentificarea fiecărei cereri. Pentru lucrul cu repositoarele este implicată biblioteca vcs, meta-datele despre proiecte pot fi stocate în SQLite, PostgreSQL sau alte baze de date acceptate de SQLAlchemy.

Modificări principale:

  • Accesul la repository a fost realizat prin SSH, folosind un URL de tipul „ssh://kallithea@example.com/name/of/repository”. Autentificarea la repository prin SSH se face pe baza cheii publice a utilizatorului (cu o protecție suplimentară a cheii prin parolă sau fără, în funcție de preferințele utilizatorului). Încărcarea cheii (~/.ssh/id_rsa.pub) pe server se face prin intermediul interfeței web Kallithea, care automatizează salvarea cheii în fișierul authorized_keys. Se remarcă că performanța lucrului cu repository-ul prin SSH este mai bună decât atunci când se accesează repository-ul prin HTTPS.
  • A fost adăugată suportul pentru sistemul distribuit de gestionare a versiunilor Mercurial 5.2.
  • Funcția „Admin > Settings > Visual > (HTTP) Clone URL” a fost revizuită, iar procesatorul acesteia acum verifică explicit prezența șirurilor „{repo}” și „_{repoid}”.
  • S-a realizat o curățare a sistemului de permisiuni — permisiunile sunt considerate întotdeauna doar ca fiind adiționale, adică se garantează că orice utilizator va avea cel puțin aceleași permisiuni ca utilizatorul implicit.
  • În fișierul de configurare a fost oprit suportul pentru setarea api_access_controllers_whitelist. Autentificarea prin cheie de acces la API oferă acum automat acces la toate API-urile permise utilizatorului.
  • Suportul pentru Python 2.6 a fost oprit. În prezent, este suportată doar ramura Python 2.7, dar dezvoltatorii lucrează pentru a asigura suport complet pentru Python 3.x.
  • Funcția de blocare a repository-ului (pull-to-lock, push-to-unlock) a fost eliminată.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster