Развертывание проекта на Node.js из GitLab через Runner в Timeweb Cloud
Чтобы развернуть проект на Node.js из GitLab с использованием GitLab Runner в Timeweb Cloud, следуйте этим шагам:
1. Подготовка проекта
Убедитесь, что ваш проект на Node.js готов к развертыванию. Проверьте, что у вас есть файл package.json
с необходимыми зависимостями и скриптами для запуска приложения.
2. Настройка GitLab CI/CD
Создайте файл .gitlab-ci.yml
в корне вашего проекта. Этот файл будет содержать инструкции для GitLab Runner о том, как собирать и развертывать ваше приложение. Пример конфигурации может выглядеть так:
yaml
image: node:14
stages:
- build
- deploy
build:
stage: build
script:
- npm install
- npm run build # если у вас есть скрипт сборки
deploy:
stage: deploy
script:
- apt-get update && apt-get install -y ssh
- ssh user@your-timeweb-server "cd /path/to/your/app && git pull origin main && npm install && npm start"
only:
- main # или другая ветка, которую вы хотите развернуть
3. Настройка SSH-доступа
Для развертывания на сервере Timeweb вам нужно настроить SSH-доступ:
- Сгенерируйте SSH-ключи на вашем локальном компьютере, если у вас их еще нет:bash
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
- Добавьте публичный ключ (
~/.ssh/id_rsa.pub
) в настройки SSH-доступа вашего сервера Timeweb. - Убедитесь, что ваш GitLab Runner имеет доступ к приватному ключу (
~/.ssh/id_rsa
).
4#### Развертывание проекта на Node.js из GitLab через Runner в Timeweb.Cloud
Для развертывания проекта на Node.js из GitLab через Runner в Timeweb.Cloud, вам потребуется выполнить следующие шаги:
- Настройка GitLab Runner:
- Зарегистрируйте GitLab Runner в вашем проекте, следуя инструкциям.
- Убедитесь, что Runner имеет необходимые разрешения для доступа к вашему проекту и может выполнять команды Docker.
- Настройка CI/CD в GitLab:
- В вашем проекте на GitLab создайте файл
.gitlab-ci.yml
в корневой директории. - В этом файле определите этапы сборки и развертывания вашего Node.js-приложения. Пример конфигурации:yaml
image: node:14.17.0-alpine3.14 stages: - build - deploy build: stage: build script: - npm ci - npm run build deploy: stage: deploy script: - npm install -g twc - twc login - twc deploy environment: production only: - main
- Убедитесь, что в вашем проекте есть необходимые переменные окружения, такие как
TWC_TOKEN
иTWC_SECRET
, которые будут использоваться для аутентификации в Timeweb.Cloud.
- В вашем проекте на GitLab создайте файл
- Развертывание в Timeweb.Cloud:
- Установите CLI-инструмент
twc
для работы с Timeweb.Cloud. Вы можете установить его глобально с помощьюnpm install -g twc
. - Выполните вход в Timeweb.Cloud с помощью
twc login
, используя ваши учетные данные. - В скрипте развертывания
twc deploy
укажите необходимые параметры для развертывания вашего Node.js-приложения в Timeweb.Cloud.
- Установите CLI-инструмент
- Настройка автоматического развертывания:
- Настройте триггер в GitLab, который будет запускать CI/CD-конвейер при изменениях в вашем репозитории, например, при push в ветку
main
. - Убедитесь, что GitLab Runner успешно выполняет этапы сборки и развертывания вашего приложения.
- Настройте триггер в GitLab, который будет запускать CI/CD-конвейер при изменениях в вашем репозитории, например, при push в ветку
Таким образом, вы сможете автоматически развертывать ваше Node.js-приложение из GitLab в Timeweb.Cloud с помощью GitLab Runner. Это позволит вам быстро и надежно развертывать обновления вашего приложения.