Kolejny raz podchodzę do tematu CI/CD do własnych projektów. Przeszedłem już początki GitLaba i Jenkinsa. Mam też małe doświadczenie Githubem. Z punktu widzenia każdy nich ma dyskwalifikujące wady.

GitLab - kombajn do wszystkiego niby. Z tym, że ilość potrzebnych zasobów jest jakaś absurdalna. Nie chcę marnować sprzętu i prądu żeby sobie stało. Ostatnia wersja jaką zainstalowałem wciągała wszystkie CPU jakie tylko do niej wrzuciłem nie robiąc przy tym nic pożytecznego.

Jenkins -
@Boska_Klaudia Jenkins popularny był 10 lat temu, teraz wszystko po trochu. Z rozwiązań które można u siebie postawić to chyba teraz najpopularniejszy gitlab. Jest jeszcze sporo rozwiązań w chmurze
  • Odpowiedz
te githuby / gitlaby to są tak #!$%@?, ze glowa mala. Czlowiek pol dnia siedzi zeby pushnac projekt bo caly czas brak dostepu, nie moge pushowac, cos z ssh znowu, 403, jezu chryste, 2024 rok i nikt nie wymyslil serwisu zeby po prostu przeciagnac folder z zipem i tyle tylko sie trzeba tak #!$%@? a dokumentacja jest robiona na kolanie i trzeba jakiegos hindusa na youtube obejrzec?
#programowanie #naukaprogramowania #git #github #
Mirki mam pytanie do #gitlab #programowanie #vue, otóz mam projekt w którym wykorzystuje vitesta do unit testów. Chce sobie zintegrować test coverage visualistaion z gitlaba z tej strony https://docs.gitlab.com/ee/ci/testing/test_coverage_visualization.html z raportem cobertura-coverage. Wszystko ładnie pięknie, raport się generuje w folderze ./cobertura/cobertura-coverage.xml, zapisuje się on w artifactach, pipeline na zielono, ale ostatecznie nie koloruje mi zmian w diff view przy merge requeście ani commitach.

Gitlab CI mam takie do tego:

artifacts:
paths:
  • 0
@nad__czlowiek: javascript, ale znalazłem problem. W pliku xml jest atrybut xml i on jest absolute pathem, a musi być relative pathem no i kilka zmian jeszcze ze ścieżkami w tym xmlu. Tragedia, że nie jest to konfigurowalne tylko musze sobie to skryptem robić...
  • Odpowiedz
Potrzebuję porady :/ Na jednej z instancji GitLaba ekipa postanowiła sobie składować pliki binarne (obrazy po kilkaset mega).
Wszystko było w normie, dopóki pewnego dnia po aktualizacji backupy skoczyły mi z 4.5GB na 10GB. Główna różnica to jeden plik .pack (w jednym z hashowanych katalogów). Coś gdzieś pękło - nie potrafi już wykorzystać "delty" czy czegoś tam różnicowo, i teraz backupy (i sam rozmiar instancji) przyrastają mi w strasznym tempie (tamci cały
@RRybak: Musisz w jakiś sposób nadpisać historię brancha na którym znajduje się ten plik, możesz to zrobić lokalnie filter branchem, potem wypchnij ten branch z forcem
  • Odpowiedz
mireczki, bo Wy zawsze pomożecie. Mam taki problem, że nie potrafie rozróżnić do czego jest gitlab-runner, a do czego docker. Próbuje zrobić continous integration do mojej aplikacji labview. Chciałbym, że gitlab atuomatycznie wykonywał testy po commicie i udostępniał z nich raport, a jeśli nie będę tego w stanie zrobić to z innego miejsca bym chciał uruchamiać testy i wyświetlać w gicie w pipeline jakiś raport, ile na pass ile na fail. Zatrzymałem
Czym się różni Gitlab CI od Github CI? Zastanawiamy się w firmie czy nie przejść z self hosted Gitlab na github, bo ma bardzo dobre ceny, a nie już osoby, która ogarniała nasz self-hosted gitlab, który już jest bombą z opóźnionym zapłonem.
To jak to jest z tym CI? W gitlabie mam deploy.yml i tam skrypt robiący rsynca na maszynę testową, który odpal runner jako joby. Czy tak podobnie to działa w
Mam taką komendę:

npx nx build webaplikacja --configuration production --skip-nx-cache
Jak zrobić, żeby nie było outputu do stdout przy budowaniu webaplikacji, tylko do jakiegoś wskazanego przeze mnie pliku logów? W GitLab CI/CD nie mieści mi się output z budowania aplikacji, przez co przerywa logowanie na stdout i nie mogę zdiagnozować, czemu mi się wywala proces budowania. Pomoże ktoś?

#nodejs #node #programowanie #gitlab #gitlabcicd #cicd
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
#
@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
  • Odpowiedz
@yggdrasil: korzystałeś z obu CI? Ja budowałem CI/CD w Gitlabie i bardzo przyjemnie się w nim pracowało, dokumentacja fajna, API tez bardzo w porządku i generalnie sobie chwale. O GH actions za to słyszałem mniej pozytywne opinie i ze właśnie porównując do Gitlaba ma sporo ograniczeń i generalnie jest „gorsze”.
  • Odpowiedz
Mirki, jak najelpiej testowac pipeline z Terraformem. Mam pipeline w GitLabie z typowymi stageami (init, plan, apply or destroy) ktory stawia infre w AWS (zalozmy ze jedna instancje EC2). Czy po prostu na koniec pipelineu moge dodac stagea ze skryptem w pythonie ktory np zapyta sie curlem czy serwis juz stoi (np zwroci HTTP 200) czy sa jakies inne “best practices “? #devops #terraform #gitlab #pipeline #aws
@becvvv: Też nie rozumiem, przecież jak jest konflikt to pojawia się ikonka i nie można mergować. I to wystawiający MRa powinien ogarnąć, bo bez tego nie ma sensu robić review.
  • Odpowiedz
Czy zamiast tego da się zrobić tak, by to pracownik A rozwiązywał konflikty, a pracownik B tylko akceptował mr? W gitlabie nie widzę takiej opcji.


@becvvv: nie rozumiem. Jest konflikt to twórca go rozwiązuje. Tak to działa chyba wszędzie
  • Odpowiedz
w jaki sposob moge w Gitlab CI cachowac node_modules miedzy roznymi kontenerami? Korzystam obecnie z docker:dind i taski sobie wykonuje w roznych kontenerach, ale to chyba mi uniemozliwa korzystanie z cache... moj .gitlab-ci.yml wyglada mniej wiecej tak:

image: docker/compose:1.29.2

services:
- docker:dind

stages:
- build
- test

frontend-install-dependencies:
image: node:lts-alpine
stage: build
cache:
key: $CI_COMMIT_REF_SLUG-$CI_PROJECT_DIR
paths:
- node_modules/
script:
- yarn install --progress=false
artifacts:
paths:
- node_modules/
only:
changes:
- yarn.lock

frontend-jest-unit-tests: