Загрузка обновлений на сервер
Легко
Эта статья для новичков
Для обычного программиста эта статья покажется не нужной, ведь «там всё легко», но из личного опыта скажу: в начале своего пути как программиста, когда поступает таска загрузить обновление на сервер, становится не по себе, ведь ЭТО ПРОД, а вдруг что упадет, а вдруг что сломается. Поэтому, всегда должна быть шпаргалка для первого времени.
В этой мини-статье мы рассмотрим список команд, необходимые для загрузки обновления на сервер. Бояться не нужно, главное следовать командам.
Подключение к серверу
Поскольку таска поступила, значит мы подразумеваем, что доступ к серверу вам выдали.
Чтобы попасть на сервер, необходимо установить ssh-подключение
Для общего сведения
SSH (англ. Secure Shell — «безопасная оболочка») — сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов).
Для подключения открываем консоль и пишем следующую команду
ssh $USER@$IP
Где $USER
- это пользователь сервера, а $IP
- ip сервера.
Пример:
ssh web@22.59.41.55
Выполнив предыдущую команду, если подключение выполняем впервые, то появится сообщение Введите
yes
.
Для общего сведения
Это нужно для повышения безопасности. При настройке SSH-сервера создается уникальная комбинация символов — fingerprint («отпечатки пальцев»). Ваш компьютер запоминает эту комбинацию и сверяет ее при каждом новом соединении. Представьте, что кто-то внёс изменения в систему, например: — Переустановил SSH-сервер — Переустановил всю операционную систему — Заменил удаленный компьютер, сохранив его адрес
Даже в этом случае вы заметите изменения, потому что fingerprint тоже изменится. Если fingerprint не меняется, то такое сообщение не будет появляться.
После подтверждения, необходимо повторить команду подключения и ввести пароль. 🎉 Поздравляю, вы на сервере 🎉
Папка проекта
В данный момент, вы находитесь в домашней папке пользователя, под которым вы авторизовались на сервере. Но вам нужно оказаться в папке проекта.
Я не знаю как папка с проектом, что делать?
Выходов из этой ситуации много
- Спросить у того, кто знает — но это слишком легко
- Воспользоваться поиском
- Посмотреть в конфиге сайта
Поиск
Для того чтобы найти папку с проектом мы можем воспользоваться поиском.
find ~ -type d -name 'batyukovstudio.com'
> find
- это команда
> ~
- где искать, в данном случае ищем по домашней директории пользователя
> -type d
- говорим поиску, что ищем директорию
> -name
- говорим, что нужно искать по имени
> 'batyukovstudio.com'
- название папки, с большей вероятностью, директория называется так же, как и название репозитория в гите
Получаем название и переходим в директорию
Просмотр конфига
Второй способ, более изощренный, но благодаря ему, вы можете почувствовать себя сверх программистом
Мы можем проследовать в папку, где лежат конфигурационные файлы сайтов и посмотреть путь ресурсной директории.
Заходим в папку с файлами:
cd /etc/nginx/sites-available/
Смотрим что есть, с помощью команды ls
и находим файл, у которого название состоит из домена и читаем его следующей командой:
cat batyukovstudio.com.conf
В нем ищем строку, которая начинается со слова root
и запоминаем путь.
Загрузка обновлений
Для обновления проекта необходимо «подтянуть» изменения с git’а, для этого нужно прописать команду:
git pull origin main
Важно!
Вместо main
может быть другая, необходимая вам, ветка. Чаще всего это master
Важно!
При сообщении о конфликте при «подтягивании», вы можете сбросить все изменения до нужной вам ветки командой git reset --hard origin/{Нужная вам ветка}
Сборка проекта
И последним шагом вам остается лишь собрать проект
npm run prod
Заключение
Вот мы и выполнили таску. Главное не бояться, но и лишнего не делать.
P.S. не забывайте про время в жире!