Wątek przeniesiony 2020-08-20 16:30 z Projekty Forumowe przez cerrato.

Reposilite - lekki menedżer dla Mavenowych repozytoriów

6

Preview

Linki
Strona: reposilite.com
Repo: github.com/dzikoysk/reposilite

Bio
Potrzebowałem jakiś czas temu lekkiego repozytorium Mavena do stawiania swoich projektów, a hostowanie hobbystycznych zabawek na chociażby Nexusie to lekki przerost formy nad treścią - głównie też z budżetowego punktu widzenia, bo zapotrzebowanie na zasoby takie rozwiązania mają niemały.

Stworzyłem więc Reposilite (wcześniej NanoMaven), a z uwagi na potrzebę pewnych nowych integracji w ostatnim czasie, projekt przeszedł spory refactoring i stał się trochę bardziej user-friendly. Przy okazji podlinkowałem projekt na JVM Poland z miesiąc temu - od tamtego czasu parę osób zaproponowało też żeby wrzucić projekt właśnie tutaj. Od jakiegoś czasu nosiłem się z zamiarem wejścia na forum, więc to chyba w miarę dobry początek. Sporo osób pewnie bawi się tutaj projektami po godzinach, być może kilku z Was znajdzie zastosowanie w swoim środowisku.

Stack
Troszkę "technicznie", może kogoś też coś z ciekawości od tej strony zaciekawi.

Co oznacza lekki? Cel był taki, by żarł jak najmniej zasobów - głównie ramu. Dodatkowo ważnym kryterium był czas i prostota pisania tego, a oto obecny stack:

  • Reposilite Backend: Java + Javalin (Jetty)
  • Reposilite Frontend: Vue.js + Pug + Stylus + Tailwindcss
  • Reposilite Site: React.js + Docusaurus

Z uwagi, że ma to działać jak najprościej, to frontend po zbudowaniu trafia do resources backendowego. Z uwagi na ograniczenia w założeniach, odpada też praktycznie cały temat cachowania czegokolwiek, w efekcie jesteśmy w stanie uruchomić serwer na jakiś 8MB ramu (dla nowszych wersji jvma około 10-12MB). W zależności jednak od stopnia użycia repo zalecam zwiększyc limity, opis zalecanych wartości jest w docsach.

W praktyce
Mam na Reposilite postawione publiczne repo, które ma przydzielone 128MB ramu. Wczoraj wieczorem wrzuciłem jakieś małe statystyki na twittera twitter.com/dzikoysk/status/1296243809366560768* (przy okazji jak ktoś ma ochotę, to będę wdzięczny z followka, dopiero zacząłem coś wrzucać i trochę głupio pisać do nikogo xD ♥)*. Warto zauważyć, że repo mavena to nie jest typowy serwis, gdzie możemy rozłożyć jakoś średnio ten ruch, z reguły to jest seria requestów z wielu CI podczas buildów, stąd wynikają potrzeby zwiększenia limitów dla bardziej obciążonych repo, żeby obsłużyć te peaki ruchu.

Extra

2

Projekt dalej żyje, a nawet się rozwija, więc jak ktoś szuka projektu na Hacktoberfest, to w sumie zapraszam. Jest parę tasków z uwagi na fakt wypuszczania nowego majora, zarówno w Kotlinie jak i JS pod Vue 3. Wraz z nową wersją wskoczył też trochę odświezony stack:

  • Reposilite Backend: Kotlin with Coroutines + Javalin + Exposed + JUnit (plus różne integracje pokroju S3)
  • Reposilite Frontend: Vue3 + Vite + Windicss
  • Reposilite Site: React.js + Docusaurus

Jak ktoś się chce pobawić w open source i podpytać o taski, to kanał dowolny - tutaj/twitter/discord/github.

1 użytkowników online, w tym zalogowanych: 0, gości: 1