Skip to content
On this page

Загрузка обновлений на сервер

Легко

Эта статья для новичков

Для обычного программиста эта статья покажется не нужной, ведь «там всё легко», но из личного опыта скажу: в начале своего пути как программиста, когда поступает таска загрузить обновление на сервер, становится не по себе, ведь ЭТО ПРОД, а вдруг что упадет, а вдруг что сломается. Поэтому, всегда должна быть шпаргалка для первого времени.

В этой мини-статье мы рассмотрим список команд, необходимые для загрузки обновления на сервер. Бояться не нужно, главное следовать командам.

Подключение к серверу

Поскольку таска поступила, значит мы подразумеваем, что доступ к серверу вам выдали.

Чтобы попасть на сервер, необходимо установить ssh-подключение

Для общего сведения

SSH (англ. Secure Shell — «безопасная оболочка») — сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов).

Для подключения открываем консоль и пишем следующую команду

shell
ssh $USER@$IP

Где $USER - это пользователь сервера, а $IP - ip сервера.

Пример:

shell
ssh web@22.59.41.55

Выполнив предыдущую команду, если подключение выполняем впервые, то появится сообщение ssh Введите yes.

Для общего сведения

Это нужно для повышения безопасности. При настройке SSH-сервера создается уникальная комбинация символов — fingerprint («отпечатки пальцев»). Ваш компьютер запоминает эту комбинацию и сверяет ее при каждом новом соединении. Представьте, что кто-то внёс изменения в систему, например: — Переустановил SSH-сервер — Переустановил всю операционную систему — Заменил удаленный компьютер, сохранив его адрес

Даже в этом случае вы заметите изменения, потому что fingerprint тоже изменится. Если fingerprint не меняется, то такое сообщение не будет появляться.

После подтверждения, необходимо повторить команду подключения и ввести пароль. 🎉 Поздравляю, вы на сервере 🎉 on server

Папка проекта

В данный момент, вы находитесь в домашней папке пользователя, под которым вы авторизовались на сервере. Но вам нужно оказаться в папке проекта.

Я не знаю как папка с проектом, что делать?

Выходов из этой ситуации много

  1. Спросить у того, кто знает — но это слишком легко
  2. Воспользоваться поиском
  3. Посмотреть в конфиге сайта

Поиск

Для того чтобы найти папку с проектом мы можем воспользоваться поиском.

shell
find ~ -type d -name 'batyukovstudio.com'

> find - это команда

> ~ - где искать, в данном случае ищем по домашней директории пользователя

> -type d - говорим поиску, что ищем директорию

> -name - говорим, что нужно искать по имени

> 'batyukovstudio.com'- название папки, с большей вероятностью, директория называется так же, как и название репозитория в гите

search

Получаем название и переходим в директорию

Просмотр конфига

Второй способ, более изощренный, но благодаря ему, вы можете почувствовать себя сверх программистом

Мы можем проследовать в папку, где лежат конфигурационные файлы сайтов и посмотреть путь ресурсной директории.

Заходим в папку с файлами:

shell
cd /etc/nginx/sites-available/

Смотрим что есть, с помощью команды ls и находим файл, у которого название состоит из домена и читаем его следующей командой:

shell
cat batyukovstudio.com.conf

В нем ищем строку, которая начинается со слова root и запоминаем путь.

Загрузка обновлений

Для обновления проекта необходимо «подтянуть» изменения с git’а, для этого нужно прописать команду:

shell
git pull origin main

Важно!

Вместо main может быть другая, необходимая вам, ветка. Чаще всего это master

Важно!

При сообщении о конфликте при «подтягивании», вы можете сбросить все изменения до нужной вам ветки командой git reset --hard origin/{Нужная вам ветка}

Сборка проекта

И последним шагом вам остается лишь собрать проект

shell
npm run prod

Заключение

Вот мы и выполнили таску. Главное не бояться, но и лишнего не делать.

P.S. не забывайте про время в жире!

Kirill Merkulov

Kirill Merkulov

Head of Frontend Department at Batyukov Studio

Last updated:

Released under the MIT License.