172 похожих чатов

Приветствую, ребята! Долгое время обходился "около стандартными" средствами CI/CD в GitLab.

Сейчас возникла задача более интересная)

Проект работает под 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 на прод и запускать эти две команды вручную.

Появилась идея, добавить запуск этих команд в пайплайн.
Но первый камень преткновения: в рамках пайплайна же нет, насколько я понимаю, запущенных моих докер контейнеров. Следовательно, подключиться к ним и выполнять команду не выйдет.

Подскажите, пожалуйста, как обычно поступают в таких случаях и куда копать?

4 ответов

21 просмотр

Я не знаком с гитлабом, но если можно запускать баш скрипты, то вам ничего не мешает docker exec-ы в пайплайн внести, после запуска самих контейнеров естественно

Sergio-K. Автор вопроса
Yura
Я не знаком с гитлабом, но если можно запускать ба...

Ого, звучит круто. Выходит они могут в теории осилить что то вроде: docker-compose up -d ?

Sergio K.
Ого, звучит круто. Выходит они могут в теории осил...

ну да, почему нет. Если гитлаб может запускать баш команды, то можете сделать любое что вам в голову придет

Sergio-K. Автор вопроса
Yura
ну да, почему нет. Если гитлаб может запускать баш...

Спасибо за отклик! Сейчас буду пробовать 💪🏼

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта