А есть какие-то вводные? Например, как работает CI?
проект не большой на чистой архитектуре без CI/CD. интеграц тесты хотим запускать на своих компах в докере контейнере. если все ок то пушать образ в гитлаб
Вот имхо запускать тесты не в ci уже плохо, про это очень легко забыть. А так, живём в одном проекте с docker compose, в другом с dockertest (но вот с ним есть нюансы, если сами тесты запускать в контейнере)
Вот имхо запускать тесты не в ci уже плохо, про это очень легко забыть. А так, живём в одном проекте с docker compose, в другом с dockertest (но вот с ним есть нюансы, если сами тесты запускать в контейнере)
получается если юзать dockertest в контейнере, то он создаст контейнер в контейнере ?
Нет. Надо в контейнер пробрасывать docker socket. И запускать либо с --net=host, либо создавать временную сеть, к которой подключать и контейнер, где крутятся тесты и контейнеры сторонних сервисов
Нет. Надо в контейнер пробрасывать docker socket. И запускать либо с --net=host, либо создавать временную сеть, к которой подключать и контейнер, где крутятся тесты и контейнеры сторонних сервисов
хмм, а 1ый вариант у вас это отдельный docker compose файл для интеграц тестов ?
Да и так и так неплохо. Но самостоятельно кодом разворачивающаяся инфраструктура выглядит получше. Да и есть ещё более интересная библиотека testcontainers-go