Со шрамами приходит сила
И снова здрасти. Хуй знает, очевидная эта штука для тебя или нет, но я всё равно её подсвечу.
Предположим, у тебя есть какой-то проект, описанный в docker-compose.yml. Вся эта чача раскатывается через пайплайны GitLab на продакшен.
Из того, что я постоянно вижу: после сборки проекта все собранные файлы копируются на продакшен с помощью rsync, scp или подобных утилит, ну и ранится всё это дело через ssh.
Например:
script:
- билд хуилд
- rsync -avz --delete ./ user@$prod:/var/www
- ssh user@$prod "docker compose up -d"
- Что-то там собралось
- Файлы синканулись с продом
- Запустилось, если смогло
Хуита! Всё делается изящнее. Ща покажу.
stage: deploy
image:
name: docker/compose
script:
- docker-compose -H "ssh://root@$prod" down --remove-orphans
- docker-compose -H "ssh://root@$prod" pull
- docker-compose -H "ssh://root@$prod" up -d
docker-compose.yml файл.Никаких лишних файлов не копируется, никаких утилит, минималистично. Я примеры сократил, но суть ты поймёшь. Не обязательно тащить на прод какие-то ямеэльки.
В штыки не воспринимай, способ с rsync и т. п. вполне годный. Но делюсь тем, чем пользуюсь сам. У меня Telegram-боты так деплоятся.
Изучай. Не отвлекаю! Если хоть одному из вас пригодится, это уже хорошо!








Комментарии