Wpis z mikrobloga

Jaki jest najlepszy toolset do ci/cd?

1. Chcę robić build i deploy statycznej strony po każdym mergu commita. Czyli typowe budowanie strony webowej napisanej w angularze i wgranie na S3 AWS.

2. Chcę zrobić deployment backendu #aws napisanego w #nodejs z użyciem #serverless.

3. Chcę robić build i testowanie firmware'u.

Mam wytypowanych kilka kandydatów do CI/CD. Nie chcę mieć maca na którym chodzi jenkins. Co byście polecili?

Github Actions #githubactions
#azure devops

#programowanie #cicd #gitlab #devops
  • 21
@its_over_for_chlop: bitbucket - masz tam pipeliny itp. U mnie w firmie mamy bitbucket + jenkins (postawiony lokalnie, testy, buildy) + sonar cloud (pokrycie testami, zduplikowany kod, statyczna analiza kodu). To by bylo na tyle jesli chodzi o testy, repo i code quality. Co do deployu kodu to terraform jest spoko - nie jest latwy, ale raz ogarniesz i zycie jest prostsze
@MialemNieWracac:
To tylko narzędzia. Ale facet ma działający setup na Jenkinsie i zamiast go przenieść z lokalnego maca na vps kombinuje i szuka dziury w całym. Zmarnuje tylko czas na ustawianie nowej zabawki która będzie robiła to samo.

Ale jak już się bawić to kupić własnego vps do developerki, ustawić git hooki i skrypty do budowania, deployu itp. To daje duże możliwości zrobienia czegoś jak naprawdę chcesz i często jest szybsze
@Gennwat: @MialemNieWracac: @tos-1_buratino: @Gomusss:

Ostatecznie wybrałem Github do trzymania kodu. Napisałem sobie kilka pipelinów pod Github Actions, które do sprzężyłem z AWS za pomocą OIDC. Nie mam nigdzie trzymanych secretów i o nic nie muszę się martwić. Deploy startowego projektu angularowego kosztuje 1m 53s łącznie z testami, a zmiany są widoczne chwilkę później pod adresem www. Coś pięknego. Dzięki za pomoc i dobre słowo.
Część porad jak lokalny
@tos-1_buratino: tak zerknąłem na cały temat jeszcze raz na szybko i nie widzę, żeby gdzieś było coś o gotowym setupie Jenkinsa

Ale jak już się bawić to kupić własnego vps do developerki, ustawić git hooki i skrypty do budowania, deployu itp. To daje duże możliwości zrobienia czegoś jak naprawdę chcesz i często jest szybsze niż kopanie się z warstwą pośrednią jaką są jenkinsy, gitlaby, githuby.


To co opisujesz jest właśnie mnóstwem
@its_over_for_chlop: W ogóle jeżeli chciałbyś wejść jeszcze poziom wyżej z abstrakcją, to polecam AWS Amplify do hostingu backendu + frontendu + CI/CD. W ostatnich 1-2 latach zrobili wszystko na tyle spoko, że da się to wszystko wyklikać z poziomu UI i głównie musisz połączyć klocki i wskazać, gdzie masz kod. Do projektów prywatnych i PoC bardzo się to sprawdza

Jest to odpowiednik Firebase/Supabase, ale jeżeli chcesz mieć backend ale nie chcesz
@its_over_for_chlop: tam jest wtedy zupełnie inaczej, amplify wtedy zastępuje Ci cały IaC framework czyli w tym przypadku Serverless framework idzie do kosza i wszystko robisz w ekosystemie Amplify

Ale no jako że robisz RESTowe API to nie polecam, bo to głównie do Graphqla, więc w sumie potraktuj to jako ciekawostkę, może przyda się przy zabawie z GQL kiedyś xd