Быстрые ssh коммиты из релиза в продакшн, исключая отдельные файлы/каталоги

Предположим, находясь в рабочей области релизной версии требуется быстро отправить её в продакшен. При этом отдельные файлы/каталоги нужно оставить прежними(например конфиги с подключением к базам данных).

Создадим в рабочем каталоге файлик commit.sh с таким содержимым

#!/usr/bin/env bash

SSH_PORT=22
SSH_USER=root
SSH_SERVER=192.168.56.111
SSH_PATH=/var/www/user/public_html
SSH_OG=username:groupname # recursive owner:group from chown -R SSH_PATH


rsync -avzhP -e "ssh -p $SSH_PORT" --exclude=.vscode --exclude=inc/db.php --exclude=commit.sh ./ "$SSH_USER@$SSH_SERVER:$SSH_PATH"
ssh -p $SSH_PORT "$SSH_USER@$SSH_SERVER" "chown -R $SSH_OG $SSH_PATH"

Для юзающих на винде vscode и Git bash терминал rsync там ставится так:

Установка пакетов отсутствующих в Git Bash для Windows

Оставить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *