Как настроить GitLab CI/CD для развертывания веб-приложения на VPS
Всем привет! Автоматизация – наше все, поэтому предлагаю разобрать, как настроить CI/CD с помощью GitLab для развертывания вашего веб-приложения на VPS. Это позволит вам автоматизировать процесс сборки, тестирования и деплоя вашего кода
Что нам понадобится:
- GitLab аккаунт.
- Доступ к вашему VPS.
- Установленный Docker на VPS (желательно).
Шаги:
- Настройка GitLab проекта: Создайте проект в GitLab и добавьте свой код.
- Создание файла .gitlab-ci.yml: Это ключевой файл, где описывается ваша CI/CD пайплайн. Вот пример (он, конечно, упрощенный, но даст понимание):
stages: - build - deploy build_job: stage: build script: - echo "Building..." - # Тут ваши команды для сборки (npm install, например) deploy_job: stage: deploy script: - echo "Deploying..." - ssh user@your_vps 'cd /path/to/app && git pull origin main' - # Ваши команды для перезапуска приложения (docker restart, например) - Настройка SSH ключей:
- Сгенерируйте SSH ключ на вашем компьютере.
- Добавьте публичный ключ в
~/.ssh/authorized_keysна вашем VPS. - Добавьте приватный ключ в GitLab в настройках вашего проекта, раздел CI/CD variables (в виде переменной SSH_PRIVATE_KEY).
- Тестирование: Запушьте изменения в репозиторий. GitLab CI/CD должен автоматически запустить ваш пайплайн. Смотрите логи и исправляйте ошибки, если они будут.
- Настройка Docker (опционально, но рекомендуется): Использование Docker упрощает развертывание. В .gitlab-ci.yml можно добавить этапы для сборки Docker образа и деплоя контейнера.
Это базовый пример, который можно адаптировать под ваши нужды. Не забывайте про тестирование и мониторинг. Удачи!