Полное пошаговое руководство простыми словами
Эта статья — для разработчиков, начинающих и тех, кто только слышал слово CI/CD.
Мы не будем «умничать», а разберём всё медленно, логично и по шагам.
Что мы сделаем в этой статье (коротко)
В конце у тебя будет:
🔁 изменил код → GitHub → сервер → сайт обновился сам
Без FTP. Без ручной загрузки файлов.
Важно: где мы будем что-то делать
Чтобы не было путаницы, сразу договоримся:
Есть 3 места, где мы работаем
1️⃣ Твой компьютер
Здесь мы:
- создаём папку проекта
- пишем файлы сайта
2️⃣ GitHub (через браузер)
Здесь:
- хранится код
- настраивается CI/CD
3️⃣ Сервер Vultr
Здесь:
- работает сайт
- выполняется деплой
Шаг 1. Создаём папку проекта
📍 На компьютере
Это обычная папка, внутри которой лежат файлы сайта.
- Открой любую папку на компьютере
- Нажми Правой кнопкой → Создать → Папку
- Назови её:
cicd-node-site
Готово ✅
Это и есть наш проект.
Шаг 2. Создаём простой сайт на Node.js
📍 В этой папке
Зачем Node.js
Node.js позволяет запускать JavaScript на сервере.
Он:
- простой
- популярный
- идеально подходит для CI/CD
2.1 Создаём файл index.js
- Зайди в папку
cicd-node-site - Нажми ПКМ → Создать → Текстовый документ
- Переименуй файл в:
index.js
⚠️ Важно: чтобы не было .txt в конце
2.2 Вставь код в index.js
Открой файл и вставь:
const http = require('http');
const server = http.createServer((req, res) => {
res.end('CI/CD работает! 🚀');
});
server.listen(3000, () => {
console.log('Сервер запущен на порту 3000');
});
👉 Это минимальный сайт
👉 Он просто выводит текст в браузере
Шаг 3. Загружаем проект на GitHub
📍 В браузере
Зачем GitHub
GitHub нужен, чтобы:
- хранить код
- отслеживать изменения
- запускать CI/CD автоматически
3.1 Создай репозиторий
- Перейди на github.com
- Нажми New repository
- Название:
cicd-node-demo
- Нажми Create repository
3.2 Загрузи файлы (без терминала)
- Открой репозиторий
- Нажми Add file → Upload files
- Перетащи файл
index.js - Нажми Commit changes
Готово ✅
Код теперь в GitHub.
Шаг 4. Создаём сервер на Vultr
📍 В браузере
Что такое Vultr простыми словами
Vultr это:
- компьютер в интернете
- работает 24/7
- там будет наш сайт
Что выбрать при создании сервера
- OS: Ubuntu 22.04
- Тариф: минимальный
- Регион: любой
После создания ты получишь:
- IP-адрес сервера
- доступ по SSH
Шаг 5. Подключаемся к серверу
📍 На компьютере
Что такое SSH
SSH — это способ подключиться к серверу, как будто ты сидишь за ним.
Как подключиться
Windows
- Используй PowerShell
Mac / Linux
- Используй Terminal
Команда:
ssh root@IP_СЕРВЕРА
Пример:
ssh root@123.45.67.89
Если спросит подтверждение — напиши yes.
Шаг 6. Устанавливаем Node.js на сервер
📍 На сервере (через SSH)
apt update
apt install nodejs npm -y
Проверка:
node -v
npm -v
Если версии выводятся — всё ок ✅
Шаг 7. Готовим сервер для деплоя
📍 На сервере
Создадим папку для сайта:
mkdir /var/www/cicd-site
Шаг 8. Настраиваем GitHub Actions (CI/CD)
📍 В GitHub
Что такое GitHub Actions
Это встроенный механизм GitHub, который:
- реагирует на изменения кода
- выполняет команды автоматически
8.1 Создай файл CI/CD
В репозитории:
- Add file → Create new file
- Название:
.github/workflows/deploy.yml
8.2 Вставь конфигурацию
name: Deploy to Vultr
on:
push:
branches: [ main ]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Copy files to server
uses: appleboy/scp-action@v0.1.3
with:
host: ${{ secrets.SERVER_IP }}
username: root
key: ${{ secrets.SSH_KEY }}
source: "."
target: "/var/www/cicd-site"
Шаг 9. Добавляем секреты
📍 В GitHub
- Settings → Secrets → Actions
- Добавь:
SERVER_IP— IP сервераSSH_KEY— приватный SSH-ключ
👉 Это безопасный способ хранить данные.
Шаг 10. Запускаем сайт
📍 На сервере
cd /var/www/cicd-site
node index.js
Открой в браузере:
http://IP_СЕРВЕРА:3000
🎉 Сайт работает!
Шаг 11. Проверяем CI/CD
- Измени текст в
index.js - Загрузи файл в GitHub
- GitHub Actions запустится автоматически
- Код обновится на сервере
👉 Это и есть CI/CD
Что ты понял после этой статьи
- что такое CI/CD на практике
- как связаны GitHub, сервер и код
- как выглядит реальный автодеплой
- что это не магия, а цепочка шагов