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.