Поиск по сайту:

Как установить сервер непрерывной интеграции Strider на Ubuntu 18.04 LTS


На этой странице

  1. Требования
  2. Начало работы
  3. Установите Node.js
  4. Установка и настройка MongoDB
  5. Установить Страйдер
  6. Установка и настройка PM2
  7. Доступ к долгоногу

Strider — это бесплатный сервер непрерывной интеграции и развертывания с открытым исходным кодом, написанный на Node.JS, JavaScript и использующий MongoDB для хранения своих данных. Strider поставляется с множеством плагинов, которые можно использовать для добавления различных функций в приложение.

В этом руководстве мы объясним, как установить Strider на сервер Ubuntu 18.04.

Требования

  • Сервер под управлением Ubuntu 18.04.
  • На вашем сервере настроен пароль root.

Начиная

Перед началом рекомендуется обновить пакеты до последней версии. Вы можете обновить все пакеты, выполнив следующую команду:

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

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

Затем установите пакет curl и git с помощью следующей команды:

apt-get install curl git -y

После установки всех необходимых пакетов можно переходить к следующему шагу.

Установите Node.js

Далее вам нужно будет установить Node.js и другие необходимые пакеты на ваш сервер.

По умолчанию Node.js недоступен в стандартном репозитории Ubuntu 18.04. Итак, вам нужно будет добавить репозиторий Node.js в вашу систему. Вы можете добавить репозиторий с помощью следующей команды:

curl -sL https://deb.nodesource.com/setup_12.x | bash -

После добавления репозитория обновите репозиторий и установите Node.js с помощью следующей команды:

apt-get install nodejs node-gyp -y

После установки Node.js проверьте версию Node.js и NPM с помощью следующей команды:

node -v

Вы должны увидеть следующий вывод:

v12.6.0
npm -v

Вы должны увидеть следующий вывод:

6.9.0

Установить и настроить MongoDB

Strider использует MongoDB в качестве резервного хранилища. Итак, вам нужно будет установить MongoDB в вашу систему.

Сначала импортируйте открытый ключ GPG для MongoDB с помощью следующей команды:

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

Затем добавьте репозиторий MongoDB с помощью следующей команды:

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

Вы должны увидеть следующий вывод:

Executing: /tmp/apt-key-gpghome.mmTr2ifzC1/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
gpg: key 68818C72E52529D4: public key "MongoDB 4.0 Release Signing Key <>" imported
gpg: Total number processed: 1
gpg:               imported: 1

Затем обновите репозиторий и установите MongoDB с помощью следующей команды:

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

После завершения установки запустите службу MongoDB и включите ее после перезагрузки системы с помощью следующей команды:

systemctl start mongod
systemctl enable mongod

Вы также можете проверить статус MongoDB с помощью следующей команды:

systemctl status mongod

Вы должны увидеть следующий вывод:

? mongod.service - MongoDB Database Server
   Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled)
   Active: active (running) since Sat 2019-07-13 05:24:41 UTC; 5s ago
     Docs: https://docs.mongodb.org/manual
 Main PID: 13619 (mongod)
   CGroup: /system.slice/mongod.service
           ??13619 /usr/bin/mongod --config /etc/mongod.conf

Jul 13 05:24:41 ubuntu1804 systemd[1]: Started MongoDB Database Server.

Далее вам нужно будет настроить MongoDB для аутентификации.

Для этого откройте оболочку MongoDB с помощью следующей команды:

mongo

Вы должны увидеть следующий вывод:

MongoDB shell version v4.0.10
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("e3edd538-03c4-469a-8c8c-227a16d214d0") }
MongoDB server version: 4.0.10
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
	http://docs.mongodb.org/
Questions? Try the support group
	http://groups.google.com/group/mongodb-user
Server has startup warnings: 
2019-07-13T05:24:46.255+0000 I STORAGE  [initandlisten] 
2019-07-13T05:24:46.255+0000 I STORAGE  [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
2019-07-13T05:24:46.256+0000 I STORAGE  [initandlisten] **          See http://dochub.mongodb.org/core/prodnotes-filesystem
2019-07-13T05:24:48.774+0000 I CONTROL  [initandlisten] 
2019-07-13T05:24:48.774+0000 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2019-07-13T05:24:48.774+0000 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
2019-07-13T05:24:48.775+0000 I CONTROL  [initandlisten] 
---
Enable MongoDB's free cloud-based monitoring service, which will then receive and display
metrics about your deployment (disk utilization, CPU, operation statistics, etc).

The monitoring data will be available on a MongoDB website with a unique URL accessible to you
and anyone you share the URL with. MongoDB may use this information to make product
improvements and to suggest MongoDB products and deployment options to you.

To enable free monitoring, run the following command: db.enableFreeMonitoring()
To permanently disable this reminder, run the following command: db.disableFreeMonitoring()
---

Затем измените базу данных на admin и создайте пользователя-администратора с помощью следующей команды:

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

Затем выйдите из оболочки MongoDB с помощью следующей команды:

> exit

Затем откройте файл конфигурации MongoDB и включите аутентификацию с помощью следующей команды:

nano /etc/mongod.conf

Внесите следующие изменения:

security:
  authorization: enabled

Сохраните и закройте файл. Затем перезапустите службу MongoDB, чтобы применить изменения конфигурации, с помощью следующей команды:

systemctl restart mongod

Установить Страйдер

Сначала загрузите последнюю версию Strider с помощью следующей команды:

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

Затем установите необходимые зависимости с помощью следующей команды:

cd strider
npm install

Далее вам нужно будет создать нового пользователя strider и назначить его базе данных strider.

Для этого откройте оболочку MongoDB с помощью следующей команды:

mongo

Затем выполните аутентификацию сеанса MongoDB с правами администратора:

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

Затем создайте пользователя базы данных и назначьте ему имя базы данных strider:

use strider
db.createUser({user: "strider", pwd: "password", roles: [{role: "dbOwner", db: "strider"}]})

Затем выйдите из оболочки MongoDB и создайте пользователя-администратора для Strider с помощью следующей команды:

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

Предоставьте всю необходимую информацию, как показано ниже:

Connecting to MongoDB URL: mongodb://strider::27017/strider

Enter email []: 
Enter password []: ****
Is admin? (y/n) [n]y

Email:        
Password:    admin
isAdmin:    y
OK? (y/n) [y]y
User created successfully! Enjoy.

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

Далее вам нужно будет установить PM2 для управления процессом Node.js. Сначала установите PM2 с помощью npm, как показано ниже:

npm install pm2 -g

Затем создайте новый файл конфигурации для PM2 с помощью следующей команды:

cd /opt/strider
nano ecosystem.config.js

Добавьте следующие строки:

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

Сохраните и закройте файл, когда закончите. Затем запустите приложение с помощью следующей команды:

pm2 start ecosystem.config.js

Вы должны увидеть следующий вывод:

                        -------------

__/""""\____/"\____________/"\____/"""_____
 _\/"/////////"_\/""________/""__/"///////"___
  _\/"_______\/"_\/"//"____/"//"_\///______\//"__
   _\/""""\/__\/"\///"/"/_\/"___________/"/___
    _\/"/////////____\/"__\///"/___\/"________/"//_____
     _\/"_____________\/"____\///_____\/"_____/"//________
      _\/"_____________\/"_____________\/"___/"/___________
       _\/"_____________\/"_____________\/"__/"""""_
        _\///______________\///______________\///__\///////////////__


                          Runtime Edition

        PM2 is a Production Process Manager for Node.js applications
                     with a built-in Load Balancer.

                Start and Daemonize any application:
                $ pm2 start app.js

                Load Balance 4 instances of api.js:
                $ pm2 start api.js -i 4

                Monitor in production:
                $ pm2 monitor

                Make pm2 auto-boot at server restart:
                $ pm2 startup

                To go further checkout:
                http://pm2.io/


                        -------------

[PM2] Spawning PM2 daemon with pm2_home=/root/.pm2
[PM2] PM2 Successfully daemonized
[PM2][WARN] Applications strider not running, starting...
[PM2] App [strider] launched (1 instances)
??????????????????????????????????????????????????????????????????????????????????????????????????????????
? App name ? id ? version ? mode ? pid   ? status ? restart ? uptime ? cpu ? mem       ? user ? watching ?
??????????????????????????????????????????????????????????????????????????????????????????????????????????
? strider  ? 0  ? N/A     ? fork ? 21502 ? online ? 0       ? 0s     ? 0%  ? 25.6 MB   ? root ? disabled ?
??????????????????????????????????????????????????????????????????????????????????????????????????????????
 Use `pm2 show <id|name>` to get more details about an app

Затем включите автоматический запуск PM2 после перезагрузки системы с помощью следующей команды:

pm2 startup

Как только вы закончите, вы можете перейти к следующему шагу.

Доступ к страйдеру

Теперь Strider установлен и настроен, пришло время получить доступ к Strider из веб-браузера.

Откройте веб-браузер и введите URL-адрес http://your-server-ip:3000. Вы будете перенаправлены на страницу входа в Strider, как показано ниже:

Теперь введите имя пользователя и пароль администратора, которые вы создали ранее, и нажмите кнопку «Войти». После успешного входа вы должны увидеть следующую страницу:

Поздравляем! вы успешно установили и настроили Strider на сервере Ubuntu 18.04. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы. Для получения дополнительной информации вы можете посетить официальную документацию в Strider Doc.