>_ DevTrendspl

Język

Strona główna

Języki

Sekcje

Frontend Backend Mobilne DevOps AI / ML GameDev Blockchain Systemy wbudowane Bezpieczeństwo
TypeScript

Jak wdrożyć projekt bez szaleństwa z konfiguracją YAML

Znasz to uczucie, gdy pisanie kodu zajmuje kilka godzin, ale konfiguracja środowiska wdrożeniowego rozciąga się na dwa dni? Najpierw walczysz z plikiem Dockerfile, potem próbujesz вспомнить, jak kierować certyfikatami SSL przez Let's Encrypt, a na końcu odkrywasz, że baza danych jakoś nie widzi backendu w współdzielonej sieci. Jest pewne poczucie, że próg wejścia dla „po prostu wdrożenia projektu hobbystycznego" stał się nieuzasadnienie wysoki.

Ostatnio natknąłem się na Openship. To otwarta platforma, która próbuje przywrócić czasy, gdy wdrożenie było proste, zachowując jednocześnie całą moc nowoczesnych kontenerów. Zasadniczo to Twój osobisty PaaS (Platform as a Service), który możesz skonfigurować na dowolnym tanim serwerze.

Openship dashboard

Co to w ogóle jest

Openship to narzędzie dla tych, którzy mają dość ręcznego konfigurowania potoków CI/CD. Podajesz mu link do repozytorium, a ono rozpoznaje, co jest w środku: Node.js, Go, Pythona czy starego dobrego PHP. System buduje, pakuje do kontenera i uruchamia.

W przeciwieństwie do Vercel czy Heroku, Openship jest w pełni samodzielnie hostowany. Oznacza to, że nie płacisz za „zasoby platformy" — korzystasz z mocy własnego sprzętu. A wszystkim możesz zarządzać na trzy sposoby: przez aplikację desktopową, panel webowy lub znajome CLI.

Czym Openship może zachęcić

To, co mnie przekonało, to fakt, że deweloperzy nie zbudowali kolejnego „opakowania na Dockera" — zebrali w jednym miejscu wszystko, co zwykle trzeba konfigurować osobno.

Po pierwsze, wbudowany serwer pocztowy. Jeśli kiedykolwiek próbowałeś skonfigurować SMTP z odpowiednimi rekordami DKIM i SPF, żeby Twoje e-maile nie lądowały w spamie, wiesz, jaki to ból głowy. W Openship to działa od razu po wyjęciu z pudełka.

Po drugie, zarządzanie domenami. Platforma automatycznie wystawia certyfikaty SSL i monitoruje ich odnawianie. Nie musisz logować się do konsoli serwera, żeby dodać nową subdomenę.

Po trzecie, obsługa baz danych. Postgres, MongoDB czy Redis uruchamiają się w kilka kliknięć. Istnieje wbudowany system zaplanowanych kopii zapasowych z przywracaniem jednym kliknięciem. Dla małych projektów bez dedykowanego admina to ratunek.

Jak to wygląda w praktyce

Instalacja trwa mniej niż minutę. Jeśli masz czysty serwer z Ubuntu lub jakąkolwiek inną dystrybucją Linuksa, po prostu uruchom w konsoli:

npm i -g openship
openship up

Po tym serwer ożywa. Aby wdrożyć swój projekt, przechodzisz do jego folderu na lokalnej maszynie i wpisujesz:

openship init
openship deploy

Platforma automatycznie rozpoznaje, jak zbudować Twoją aplikację. Jeśli w korzeniu znajduje się plik package.json, uruchomi build Node.js. Jeśli jest plik docker-compose.yml, Openship po prostu go „podniesie" bez zmian. To jest wygodne, gdy masz już skonfigurowane złożone konfiguracje kontenerów i nie chcesz ich przepisywać pod nowe narzędzie.

A w czym podstęp

Projekt jest obecnie w aktywnym rozwoju. Jeśli zajrzysz do dokumentacji, uczciwie pisze: „W trakcie realizacji". Niektóre zaawansowane funkcje, jak wizualny edytor potoku CI/CD czy złożone ustawienia prywatnej sieci między serwerami, nie są jeszcze dostępne — są na liście planów.

Inna sprawa: Openship pobiera dość sporo zależności podczas instalacji przez CLI, więc najlepiej działa w środowisku Docker. Na szczęście repozytorium zawiera gotowy plik docker-compose.yml do szybkiego uruchomienia całej infrastruktury za jednym razem.

Komu warto spróbować

Zalecałbym Openship dwóm kategoriom osób. Pierwsza to samotni deweloperzy, którzy zgromadzili 5-10 małych projektów na różnych stosach technologicznych. Utrzymanie ich wszystkich na jednym serwerze bez pogubienia się w konfiguracjach Nginx to całkiem wyzwanie. Openship zamienia to w uporządkowaną listę w ładnym interfejsie.

Druga kategoria to małe zespoły, które potrzebują serwera stagingowego. Możliwość szybkiego uruchomienia środowiska podglądu dla każdej gałęzi Git bez konfigurowania złożonych GitHub Actions to bardzo miły bonus.

W przypadku masywnych klastrów korporacyjnych narzędzie jest jeszcze trochę za wcześnie, ale jako zamiennik niestandardowych skryptów wdrożeniowych na projektach średniej wielkości wygląda bardzo solidnie. Licencja Apache 2.0 pozwala używać go w produktach komercyjnych bez obawy, że jutro w skrzynce pojawi się rachunek za subskrypcję.

Ogólnie rzecz biorąc, jeśli masz dość piekła YAML i po prostu chcesz „wypchnąć i zapomnieć", Openship jest świetnym kandydatem na weekendowy projekt, żeby uporządkować swoje projekty.

Powiązane projekty