GitLab: Testų paleidimas su Testcontainers

Ši dokumentacija yra CI/CD vadovo dalis. Visą vadovą rasite čia: Kaip naudoti GitLab CI/CD.

👋 Sveiki atvykę į Stackhero dokumentaciją!

Stackhero siūlo paruoštą naudoti GitLab cloud sprendimą, sukurtą komandoms, kurioms reikalinga greita, saugi ir lengvai plečiama aplinka:

  • Neribotas naudotojų, saugyklų, duomenų perdavimų ir CI/CD apdorojimo laikas – visiška lankstumo laisvė.
  • Paprasti atnaujinimai vienu paspaudimu – jūsų aplinka visada bus naujausia be prastovų.
  • Individualus domeno vardas su HTTPS apsauga (pavyzdžiui, https://git.jusu-imone.lt) – profesionaliam įvaizdžiui ir saugumui.
  • Nuoseklus veikimas ir aukštas saugumo lygis jūsų privačioje, dedikuotoje infrastruktūroje. Jokio triukšmingų kaimynų poveikio, visiška izoliacija.
  • Galimybė pasirinkti talpinimo vietą: 🇪🇺 Europa arba 🇺🇸 USA pagal jūsų atitikties ar vėlinimo poreikius.

Pradėkite greitai ir susitelkite į savo kodą. Stackhero GitLab cloud hosting sprendimas paruoštas naudoti maždaug per 5 minutes.

Jei jūsų testų rinkinys naudoja Testcontainers – biblioteką, kuri testų metu paleidžia realias paslaugas (duomenų bazes, žinučių brokerius ir kt.) kaip laikinas Docker konteinerius – aukščiau pateikta konfigūracija jau yra tinkama. Palikite docker:29-dind servisą ir abu kintamuosius: Testcontainers naudoja DOCKER_HOST, kad pasiektų Docker daemon'ą ir prisijungtų prie paleistų konteinerių, tad papildomos konfigūracijos nereikia.

Dažniausia Testcontainers gedimų CI aplinkoje priežastis – nenustatytas DOCKER_HOST. Tuomet biblioteka bando naudoti runner'io prijungtą Docker socket'ą ir negali pasiekti savo testavimo konteinerių, o tai dažniausiai pasireiškia Ryuk helper konteinerio timeout'u.