Сейчас возникла задача более интересная)
Проект работает под docker окружением от dev до prod среды. Есть два служебных контейнера, связанных через volume общим разделом в файловой системе:
1) первый контейнер генерирует файл при запуске команды:
docker exec -it docker_container_1 php bin/console nelmio:apidoc:dump > apiary.apib
2) второй контейнер отправляет данный файл в сторонний сервис с помощью команды:
docker exec -it docker_container_2 apiary publish --api-name="icarhelper" --json
Соответственно, после каждого выкатывания релиза (тесты, проверка кода линтерами итд автоматически производится через пайплайн GitLab CI/CD) приходится заходить через ssh на прод и запускать эти две команды вручную.
Появилась идея, добавить запуск этих команд в пайплайн.
Но первый камень преткновения: в рамках пайплайна же нет, насколько я понимаю, запущенных моих докер контейнеров. Следовательно, подключиться к ним и выполнять команду не выйдет.
Подскажите, пожалуйста, как обычно поступают в таких случаях и куда копать?
Я не знаком с гитлабом, но если можно запускать баш скрипты, то вам ничего не мешает docker exec-ы в пайплайн внести, после запуска самих контейнеров естественно
Ого, звучит круто. Выходит они могут в теории осилить что то вроде: docker-compose up -d ?
ну да, почему нет. Если гитлаб может запускать баш команды, то можете сделать любое что вам в голову придет
Спасибо за отклик! Сейчас буду пробовать 💪🏼
Обсуждают сегодня