Как развернуть проект на nodejs из gitlub через runner в timeweb.cloud

Развертывание проекта на 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-ключи на вашем локальном компьютере, если у вас их еще нет:bashssh-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, вам потребуется выполнить следующие шаги:

  1. Настройка GitLab Runner:
    • Зарегистрируйте GitLab Runner в вашем проекте, следуя инструкциям.
    • Убедитесь, что Runner имеет необходимые разрешения для доступа к вашему проекту и может выполнять команды Docker.
  2. Настройка CI/CD в GitLab:
    • В вашем проекте на GitLab создайте файл .gitlab-ci.yml в корневой директории.
    • В этом файле определите этапы сборки и развертывания вашего Node.js-приложения. Пример конфигурации:yamlimage: 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.
  3. Развертывание в Timeweb.Cloud:
    • Установите CLI-инструмент twc для работы с Timeweb.Cloud. Вы можете установить его глобально с помощью npm install -g twc.
    • Выполните вход в Timeweb.Cloud с помощью twc login, используя ваши учетные данные.
    • В скрипте развертывания twc deploy укажите необходимые параметры для развертывания вашего Node.js-приложения в Timeweb.Cloud.
  4. Настройка автоматического развертывания:
    • Настройте триггер в GitLab, который будет запускать CI/CD-конвейер при изменениях в вашем репозитории, например, при push в ветку main.
    • Убедитесь, что GitLab Runner успешно выполняет этапы сборки и развертывания вашего приложения.

Таким образом, вы сможете автоматически развертывать ваше Node.js-приложение из GitLab в Timeweb.Cloud с помощью GitLab Runner. Это позволит вам быстро и надежно развертывать обновления вашего приложения.