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
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
Gennwat
2022-11-10 20:45:23
+5
@its_over_for_chlop: do czegoś tak prostego nie ma znaczenia czy wybierzesz github actions czy gitlab CI, wybierz jedno z tych, tam gdzie trzymasz/trzymacie kod
its_over_for_chlop
[OP]
2022-11-11 00:53:54
+3
@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 runner Github Actions postaram się wdrożyć w robocie. Super sprawa
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 runner Github Actions postaram się wdrożyć w robocie. Super sprawa
Sibu
2022-11-10 20:52:17
+2
@its_over_for_chlop:
Gitlab jako repo dla kodu i Gitlab CI dla CI/CD. Ale github actions + githuba to w zasadzie to samo takze bierze co Tobie pasuje
Gitlab jako repo dla kodu i Gitlab CI dla CI/CD. Ale github actions + githuba to w zasadzie to samo takze bierze co Tobie pasuje
Gomusss
2022-11-10 22:08:37
+2
@its_over_for_chlop: W Gitlabie nie musisz placić jeśli postawisz swojego runnera, a jest przyjemniejszy niz Jenkins
MialemNieWracac
2022-11-11 00:22:49
+2
@tos-1_buratino: przecież jenkins to jest mega archaik, nie rozumiem jak można go polecać w 2022, tym bardziej gdy kolega robi dosyć proste i łatwe do zdeployowania rzeczy
4191727801
2022-11-10 20:59:32
+1
@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
its_over_for_chlop
[OP]
2022-11-10 21:01:57
+1
@4191727801: dzięki ale nie chcę lokalnie nic mieć dlatego Jenkins odpada
4191727801
2022-11-10 21:05:44
+1
@its_over_for_chlop: bitbucket na 100% pozwala zbudowac caly "lancuch" od kodu do deploy'a - wiem tylko ze placisz ze czas budowania itp To mi sie srednio podoba.
W firmie mamy jenkins bo od dawna byl uzywany + taniej wychodzi miec vmk'i i tam stawiac jenkinsy (master/slave) niz placic za czas i moc obliczeniowa
W firmie mamy jenkins bo od dawna byl uzywany + taniej wychodzi miec vmk'i i tam stawiac jenkinsy (master/slave) niz placic za czas i moc obliczeniowa
Gomusss
2022-11-10 22:20:58
+1
@its_over_for_chlop: Co do zamiany, to było najlepsze co mnie spotkało. Utrzymywanie Jenkinsa z pluginami jest mocno irytujące
Gomusss
2022-11-10 22:49:42
+1
@its_over_for_chlop: Co do puntków 2 i 3 to bym użył dockera, co do 1 to raczej shell
MialemNieWracac
2022-11-11 01:03:31
+1
@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 mieć GraphQL to raczej nie polecam, wtedy samemu trzeba stawiać backend z CDK/Serverless Frameworkiem
Jest to odpowiednik Firebase/Supabase, ale jeżeli chcesz mieć backend ale nie chcesz mieć GraphQL to raczej nie polecam, wtedy samemu trzeba stawiać backend z CDK/Serverless Frameworkiem
MialemNieWracac
2022-11-11 01:09:13
+1
@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
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
its_over_for_chlop
[OP]
2022-11-10 22:15:32
+0
@Gomusss: super opcja. Jenkins jest chyba trochę archaiczny już. W firmie może zamienimy gitlaba na jenkinsa
its_over_for_chlop
[OP]
2022-11-10 22:16:00
+0
@Gomusss: gdybym chciał odpalić runnera na M1 pro (mac studio) to jaki CICD bedzie najszybszy?
Gomusss
2022-11-10 22:19:09
+0
@its_over_for_chlop: Kwestia jak chcesz uruchomić stronę. Czy w dockerze czy lokalnie na serwerze
its_over_for_chlop
[OP]
2022-11-10 22:24:48
+0
@Gomusss: strona statyczna bedzie serwowana prosto z awsS3
t.....o
2022-11-11 00:14:57
+0
@its_over_for_chlop:
Jak jenkins ci śmierdzi to przy tych wynalazkach będziesz płakał chcąc zrobić cokolwiek customowego.
Jak jenkins ci śmierdzi to przy tych wynalazkach będziesz płakał chcąc zrobić cokolwiek customowego.
t.....o
2022-11-11 00:45:20
+0
@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 niż kopanie się z warstwą pośrednią jaką są jenkinsy, gitlaby, githuby.
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 niż kopanie się z warstwą pośrednią jaką są jenkinsy, gitlaby, githuby.
MialemNieWracac
2022-11-11 00:58:39
+0
@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
To co opisujesz jest właśnie mnóstwem zabawy i potencjalnych problemów, z narzędziami typu Github Actions definiujesz tylko obraz, na którym ma działać runtime i komendy, które ma odpalić. Nie musisz się przejmować runnerami i wszystkim co jest niżej niż twój skrypt do deploymentu
Kupowanie VPS to dopiero brzmi archaicznie ( ͡° ͜ʖ ͡°)
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 zabawy i potencjalnych problemów, z narzędziami typu Github Actions definiujesz tylko obraz, na którym ma działać runtime i komendy, które ma odpalić. Nie musisz się przejmować runnerami i wszystkim co jest niżej niż twój skrypt do deploymentu
Kupowanie VPS to dopiero brzmi archaicznie ( ͡° ͜ʖ ͡°)
its_over_for_chlop
[OP]
2022-11-11 01:05:31
+0
@MialemNieWracac: Nie wiem jakby miał działać hosting frontendu na Amplify skoro potrzebuję tylko odpalić skrypt "serverless deploy" i on ma już zasetpuwać ApiGateway z Lambda handlerami
its_over_for_chlop
[OP]
2022-11-11 01:10:25
+0
@MialemNieWracac: Chcę mieć właśnie serverlessa żeby z poziomu code review wyłapać co mi chcą napsuć w architekturze (żeby nie dało się nic wyklikać z poziomu aws console).