Гид по технологиям

Как установить Strider на Ubuntu 18.04

• 6 min read • DevOps • Обновлено 23 Nov 2025
Установка Strider на Ubuntu 18.04
Установка Strider на Ubuntu 18.04

Краткое пошаговое руководство по установке Strider — свободного CI/CD-сервера на Ubuntu 18.04: обновите систему, установите Node.js (v12), MongoDB 4.0, создайте пользователей и запустите Strider под управлением PM2. Включены советы по безопасности, отладке и проверке работоспособности.

О чём эта статья

Это подробная инструкция по развертыванию Strider на сервере под управлением Ubuntu 18.04. Включены команды, конфигурационные примеры, проверочные шаги, рекомендации по безопасности, альтернативные подходы и чек-листы для ролей (администратор, девопс, разработчик).

Важно: инструкция использует Node.js 12.x и MongoDB 4.0, как в исходной инструкции. При желании можно выбрать более новые версии, но тогда проверьте совместимость плагинов Strider.

Ключевые требования

  • Сервер с Ubuntu 18.04 (доступ по root или с sudo-права).
  • Доступ в интернет для загрузки пакетов и репозиториев.
  • Базовые навыки работы в терминале (apt, systemctl, nano/vi).

Быстрая последовательность действий

  1. Обновить систему.
  2. Установить curl и git.
  3. Установить Node.js 12.x и npm.
  4. Установить MongoDB 4.0 и включить аутентификацию.
  5. Скачать и установить Strider, создать БД и пользователей.
  6. Настроить PM2 для автозапуска приложения.
  7. Открыть веб-интерфейс и проверить вход.

Факт-бокс: ключевые версии и адреса

  • ОС: Ubuntu 18.04
  • Node.js: 12.x (пример вывода node -v: v12.6.0)
  • NPM: 6.x (пример вывода npm -v: 6.9.0)
  • MongoDB: 4.0
  • PM2: менеджер процессов для Node.js

Предварительная подготовка

Перед началом обновите пакеты и перезагрузите систему при необходимости:

apt-get update -y
apt-get upgrade -y

Перезагрузите сервер, если обновления включали ядро или системные службы.

Установите утилиты curl и git:

apt-get install curl git -y

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

Установка Node.js

Strider — Node.js-приложение, поэтому требуется Node.js и node-gyp.

Добавьте репозиторий NodeSource для Node.js 12.x и установите пакеты:

curl -sL https://deb.nodesource.com/setup_12.x | bash -
apt-get install nodejs node-gyp -y

Проверьте версии:

node -v
# например: v12.6.0

npm -v
# например: 6.9.0

Важно: для сборки некоторых npm-модулей могут потребоваться пакеты build-essential и python2 (или python3 в современных сборках). Если npm install выдаёт ошибки, установите их:

apt-get install build-essential python -y

Установка и настройка MongoDB

Strider использует MongoDB как хранилище. В инструкции используется официальный репозиторий MongoDB 4.0.

Импортируйте GPG-ключ и добавьте репозиторий:

apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4

echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.0.list

Обновите индексы и установите MongoDB:

apt-get update -y
apt-get install mongodb-org -y

Запустите и включите автозапуск:

systemctl start mongod
systemctl enable mongod
systemctl status mongod

Ожидаемый статус — active (running). Если служба не запускается, смотрите журналы через journalctl -u mongod.

Включение аутентификации в MongoDB

Откройте mongo-shell и создайте администратора базы данных:

mongo

В shell выполните:

> use admin
> db.createUser( { user: "admin", pwd: "adminpassword", roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ] } )
> exit

Затем откройте конфигурацию MongoDB и включите авторизацию:

nano /etc/mongod.conf

Добавьте или измените блок:

security:
  authorization: enabled

Сохраните файл и перезапустите MongoDB:

systemctl restart mongod

Проверьте, что подключение с авторизацией работает, войдя в shell и аутентифицировавшись:

mongo
> use admin
> db.auth("admin","adminpassword")

Если аутентификация успешна, можно создавать пользователей для приложений.

Установка Strider

Скачайте исходники Strider в /opt и установите зависимости:

cd /opt
git clone https://github.com/Strider-CD/strider.git
cd strider
npm install

Если npm install выдаёт ошибки, проверьте, установлены ли build-essential и python.

Создание БД и пользователя для Strider

В mongo-shell создайте пользователя для базы strider:

mongo
> use admin
> db.auth("admin","adminpassword")
> use strider
> db.createUser({user: "strider", pwd: "password", roles: [{role: "dbOwner", db: "strider"}]})
> exit

Затем создайте админа Strider (интерактивно) из каталога /opt/strider:

cd /opt/strider
DB_URI="mongodb://strider:password@localhost:27017/strider" node bin/strider addUser

Пример интерактивного ввода (вы увидите подсказки):

Connecting to MongoDB URL: mongodb://strider:password@localhost:27017/strider

Enter email []: admin@example.com
Enter password []: ****
Is admin? (y/n) [n]y

User created successfully! Enjoy.

Сохраните учётные данные администратора в безопасном месте.

Установка и настройка PM2

PM2 используется для управления процессом Node.js и автозапуска после перезагрузки.

Установите PM2 глобально:

npm install pm2 -g

Создайте конфигурационный файл ecosystem.config.js в /opt/strider:

cd /opt/strider
nano ecosystem.config.js

Вставьте:

module.exports = {
  apps : [{
    name   : "strider",
    script : "npm",
    args : "start",
    env: {
      "NODE_ENV": "production",
      "DB_URI": "mongodb://strider:password@localhost:27017/strider",
      "SERVER_NAME": "http://your-server-ip:3000",
      "HOST": "0.0.0.0",
      "PORT": "3000"
    }
  }]
}

Запустите приложение через PM2:

pm2 start ecosystem.config.js

Примечание: при первом запуске PM2 предложит команды и покажет статус приложения. Затем включите автозапуск PM2 при старте системы:

pm2 startup
pm2 save

Если вы хотите запускать под непривилегированным пользователем (рекомендуется), создайте системного пользователя strider и поменяйте владельца папки /opt/strider:

useradd -r -s /bin/false strider
chown -R strider:strider /opt/strider
su -s /bin/bash -c "pm2 start ecosystem.config.js" strider
pm2 save

Важно: запуск под root повышает риски безопасности. По возможности используйте отдельного пользователя.

Доступ к веб-интерфейсу

Откройте браузер и перейдите по адресу:

http://your-server-ip:3000

Вы увидите страницу входа в Strider.

Страница входа Strider

ALT: Скриншот страницы входа в Strider с полями email и пароль

Войдите под созданным администратором. После входа вы попадёте в интерфейс создания и настройки проектов.

Конфигурация проекта Strider

ALT: Скриншот интерфейса Strider с настройкой проекта и списком репозиториев

Тестирование и проверка

Проверьте, что приложение отвечает и подключается к MongoDB.

  1. Убедитесь, что PM2 показывает статус приложения: pm2 list и pm2 show strider.
  2. Проверьте логи: pm2 logs strider.
  3. Убедитесь, что Strider доступен по HTTP и логин работает.
  4. Создайте тестовый проект и выполните простой job, чтобы подтвердить, что runner выполняет сборку.

Критерии приёмки

  • Веб-интерфейс Strider доступен по порту 3000.
  • Можно войти под созданным администратором.
  • Приложение сохраняит состояние в базе strider в MongoDB.
  • PM2 автоматически перезапускает приложение после перезагрузки.

Отладка и распространённые ошибки

  • npm install выдаёт ошибки сборки: установите build-essential и python.
  • MongoDB не запускается: смотрите sudo journalctl -u mongod –no-pager.
  • Ошибка аутентификации к MongoDB: проверьте строку подключения DB_URI и наличие пользователя в базе strider.
  • PM2 запускает приложение, но оно падает: смотрите pm2 logs strider и пересмотрите переменные окружения в ecosystem.config.js.

Безопасность и эксплуатация

  • Не используйте простые пароли в production. Придумайте сложные пароли и храните их в менеджере секретов.
  • Откройте доступ к интерфейсу Strider только из доверенных сетей или через VPN.
  • Настройте HTTPS (например, через обратный прокси nginx и сертификат Let’s Encrypt).
  • Запускайте Strider под непривилегированным системным пользователем.
  • Регулярно делайте резервные копии MongoDB (mongodump).

Примечание: если сервер публичный, настройте брандмауэр (ufw) и разрешите только необходимые порты (например, 22 для SSH и 443/80 для веб).

Альтернативные варианты развертывания

  • Docker: есть официальные/сообщества образы для запуска Strider в контейнерах — подходит для изоляции и быстрой миграции.
  • Новые версии Node.js и MongoDB: можно использовать более свежие версии, но проверьте совместимость плагинов и Strider.
  • Использование managed MongoDB (например, Atlas): уменьшает нагрузку на администрирование, но потребует правильной настройки сети и строки подключения.

Роль-based чек-листы

Администратор:

  • Проверить обновления Ubuntu и ядра.
  • Настроить брандмауэр и резервное копирование.
  • Обеспечить безопасное хранение секретов.

Девопс:

  • Установить Node.js, MongoDB, PM2.
  • Настроить автозапуск PM2 и мониторинг (pm2 monit).
  • Настроить nginx как обратный прокси и HTTPS.

Разработчик:

  • Проверить создание проекта и выполнение тестовых билдов.
  • Настроить доступы к репозиториям (SSH-ключи/токены).
  • Настроить уведомления и плагины Strider при необходимости.

Мини-методология развёртывания

  1. Тестовое окружение: развернуть на отдельном сервере и проверить весь пайплайн.
  2. Производство: склонировать шаги тестового окружения, адаптировать секреты и адреса.
  3. Мониторинг: включить метрики PM2 и бэкапы MongoDB.

Когда этот метод не подойдёт

  • Если требуется HA (высокая доступность) для MongoDB — нужно настроить реплика-сет.
  • Для крупномасштабных воркфлоу лучше использовать CI/CD-системы с поддержкой контейнеров и масштабирования (например, Jenkins/Kubernetes или специализированные SaaS).

Быстрый план действий (roadmap)

  1. Подготовка сервера и сеть.
  2. Установка Node.js и зависимостей.
  3. Установка MongoDB и включение авторизации.
  4. Разворачивание Strider и создание пользователей.
  5. Настройка PM2 и обратного прокси с HTTPS.
  6. Тестирование, мониторинг и бэкапы.

Краткое резюме

Вы установили Strider на Ubuntu 18.04: настроили Node.js, MongoDB с аутентификацией, создали пользователей для базы и Strider, запустили приложение под PM2 и проверили доступ через веб-интерфейс. Дальше рекомендуется настроить HTTPS, запуск под непривилегированным пользователем и бэкапы MongoDB.

Если нужно, могу подготовить пример конфигурации nginx для обратного проксирования и HTTPS, Docker-Compose файл для контейнерного развёртывания или пошаговый план миграции на более новые версии Node.js/MongoDB.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро