CI/CD dla C11/C18/Cpp17 - niezależne od platformy

CI/CD dla C11/C18/Cpp17 - niezależne od platformy
Marcin Marcin
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 610
0

Szukam poradnika w jaki sposób stworzyć pipeline dla C11/C18/Cpp17 najlepiej niezależny od platformy (jak ma być zależny to od gitlab)
aby uruchomić testy zawierające:
Kompilowanie z GCC/G++ z flagami oraz budowanie z CMake
Uruchamianie testów w postaci wywoływania programu z konsoli tz. dane wejściowe oraz wyjściowe jako input/output oraz program z argumentami
np.
mamy main.cpp
po skompliowaniu dostajemy main
uruchamiany main i wpisujemy tak jak z konsoli
Test1
Test2
na output ma być
Output1
Output2

Jak się nie powiedzie wywala błąd

Kolejny przypadek to program który uruchomi się z argumentami np. main arg1 arg2

Preferowane aby możliwe było uruchomienie w dockerze
Chciałbym móc sprawdzić na kilku wersjach np. C11 oraz C18

T3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 55
1

Na pewnym etapie i tak będziesz musiał ogarnąć te zależności bibliotek - wydaje mi się że już praktycznie na samym początku będzie najlepiej. I to nie ważna czy CI/CD będzie działać na dockerach, VM czy na gołym serwerze tak czy siak prędzej czy później będziesz musiał to zrobić żeby to jako tako zautomatyzować - czy to będzie konteneryzacja czy wirtualizacja.

Marcin Marcin
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 610
0

Czy mogę przez CI/CD testować skrypty konfiguracyjne dla maszyn wirtualnych?

Postawić maszynę następnie wykonać skrypt i sprawdzić czy jest poprawnie skonfigurowana?

T3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 55
0

Jak najbardziej. Polecam również zapoznać się w takim wypadku z podstawowymi narzędziami do tworzenia, konfigurowania środowisk opartych na maszynach wirtualnych np: packer, vagrant lub jeszcze ansible - dużo ułatwi Ci to tworzenie CI jak i testowanie na lokalnym sprzęcie tych skryptów do konfiguracji maszyn wirtualnych.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.