Как установить и настроить Buildbot на CentOS 7

Buildbot - это инструмент непрерывной интеграции с открытым исходным кодом, основанный на Python, для автоматизации создания, тестирования и развертывания программного обеспечения. Buildbot состоит из одного или нескольких мастеров Buildbot и нескольких рабочих. Мастер Buildbot или Buildmaster имеет центральное командование системой. Он отвечает за управление средой сборки рабочих и принимает все решения об отправке рабочих мест работникам. Buildmaster обнаруживает изменения в хранилище кода и отправляет команды или задания рабочим для выполнения. Рабочие выполняют задания и возвращают результат мастеру сборки. Затем Buildmaster уведомляет разработчиков по нескольким поддерживаемым каналам. В этом руководстве мы установим мастер и рабочий Buildbot на CentOS 7. Мы также настроим аутентификацию и Nginx в качестве защищенного обратного прокси-сервера.

Предпосылки

  • Экземпляр сервера Vultr CentOS 7 с ОЗУ не менее 1 ГБ.
  • Пользователь Sudo .
  • Зарегистрированное доменное имя указывает на сервер.

В этом руководств�� мы будем использовать 192.168.1.1в качестве общедоступного IP-адреса и в ci.example.comкачестве имени домена, указывающего на экземпляр Vultr. Обязательно замените все вхождения примера доменного имени и IP-адреса фактическим.

Обновите базовую систему, используя руководство Как обновить CentOS 7 . После обновления системы перейдите к установке PostgreSQL.

Установите зависимости Python

Установите Pip, который является менеджером пакетов для Python.

sudo yum -y install epel-release
sudo yum -y install python-pip gcc python-devel git
sudo pip install --upgrade pip

Установить PostgreSQL

Buildbot поддерживает несколько типов серверов баз данных, таких как MySQL, PostgreSQL и SQLite. В этом руководстве мы будем использовать PostgreSQL для размещения сервера базы данных Buildbot.

PostgreSQL - это объектно-реляционная система баз данных, известная своей стабильностью и скоростью. yumРепозиторий по умолчанию содержит старую версию PostgreSQL, поэтому добавьте репозиторий PostgreSQL.

sudo yum -y install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-1.noarch.rpm

Установите сервер базы данных PostgreSQL.

sudo yum -y install postgresql10-server postgresql10-contrib postgresql10 

Инициализируйте базу данных.

sudo /usr/pgsql-10/bin/postgresql-10-setup initdb

Запустите сервер PostgreSQL и включите его автоматический запуск во время загрузки.

sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10

Измените пароль для пользователя PostgreSQL по умолчанию.

sudo passwd postgres

Войдите в систему как пользователь PostgreSQL.

sudo su - postgres

Создайте нового пользователя PostgreSQL для Buildbot.

createuser bb_user

Вы можете использовать любое имя пользователя вместо bb_user, если хотите. PostgreSQL предоставляет psqlоболочку для выполнения запросов к базе данных. Переключитесь на оболочку PostgreSQL.

psql

Установите пароль для вновь созданного пользователя.

ALTER USER bb_user WITH ENCRYPTED password 'DBPassword';

Замените DBPasswordна безопасный пароль.

Создайте новую базу данных для установки Buildbot.

CREATE DATABASE buildbot OWNER bb_user;

Выход из psqlоболочки.

\q

Переключиться на sudoпользователя.

exit

Отредактируйте pg_hba.confфайл, чтобы включить аутентификацию на основе MD5.

sudo nano /var/lib/pgsql/10/data/pg_hba.conf

Найдите следующие строки и измените значения peerи ident, в METHODстолбце, чтобы trustи md5, соответственно.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            ident
# IPv6 local connections:
host    all             all             ::1/128                 ident

После обновления конфигурация будет выглядеть следующим образом.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

Сохраните файл и выйдите из редактора. Установите адаптер базы данных PostgreSQL для Python.

sudo pip install psycopg2

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

sudo systemctl restart postgresql-10

Установить Buildbot

Установите Buildbot с помощью Pip.

sudo pip install 'buildbot[bundle]' pyopenssl service_identity

Эта команда установит BuildBot вместе с buildbot-www, buildbot-workerи несколько веб - плагинов , таких как buildbot-waterfall-view.

Чтобы убедиться, что Buildbot был успешно установлен, вы можете проверить, проверив версию Buildbot.

buildbot --version

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

[user@vultr ~]$ buildbot --version
Buildbot version: 0.9.15.post1
Twisted version: 17.9.0

Измените правила брандмауэра, чтобы разрешить порт 8010. Buildbot использует этот порт для прослушивания веб-запросов.

sudo firewall-cmd --zone=public --add-port=8010/tcp --permanent
sudo firewall-cmd --reload

Настроить Buildbot Master

Создайте нового непривилегированного пользователя для запуска основных и рабочих процессов Buildbot. Не рекомендуется запускать мастер-сервисы Buildbot как rootпользователь.

sudo adduser buildbot
sudo passwd buildbot

Войдите как вновь созданный buildbotпользователь.

sudo su - buildbot

Настройте мастер Buildbot в /home/buildbot/masterкаталоге. Этот каталог будет содержать конфигурацию, статус и файлы журналов каждой сборки.

buildbot create-master --db 'postgresql://bb_user:DBPassword@localhost/buildbot' ~/master

Обязательно замените учетные данные пользователя базы данных в приведенной выше команде.

Примечание. Если вы хотите использовать базу данных SQLite вместо PostgreSQL, просто опустите --db 'postgresql://bb_user:DBpassword@localhost/buildbot'опцию. База данных SQLite будет создана в том же каталоге.

Приведенная выше команда создаст ~/masterкаталог для хранения файлов Buildmaster. Он также запишет данные в базу данных PostgreSQL. Вы получите следующий вывод.

[buildbot@vultr ~]$ buildbot create-master --db 'postgresql://bb_user:DBPassword@localhost/buildbot' ~/master
mkdir /home/buildbot/master
creating /home/buildbot/master/master.cfg.sample
creating database (postgresql://bb_user:DBPassword@localhost/buildbot)
buildmaster configured in /home/buildbot/master

Скопируйте пример файла конфигурации в оперативный файл конфигурации.

cp ~/master/master.cfg.sample ~/master/master.cfg

Отредактируйте файл конфигурации.

nano ~/master/master.cfg

Найдите следующие строки.

c['workers'] = [worker.Worker("example-worker", "pass")]
...

c['builders'].append(
    util.BuilderConfig(name="runtests",
      workernames=["example-worker"],
      factory=factory))
...

c['title'] = "Hello World CI"
c['titleURL'] = "https://buildbot.github.io/hello-world/"
...

c['buildbotURL'] = "http://localhost:8010/"
...

c['db'] = {
    'db_url' : "postgresql://bb_user:DBpassword@localhost/buildbot",
}

Приведенная выше конфигурация имеет запись для примера работника. Мы изменим пример записи для работника, на котором мы будем работать localhost. Измените example-workerлюбое подходящее имя для localhostработника и измените passкакой-либо другой пароль. Запишите имя и пароль работника, так как это потребуется нам позже в руководстве. Измените имя работника в списке строителей. Измените название приложения и URL проекта в соответствии с вашими потребностями.

Измените URL-адрес Buildbot с localhostвашего фактического имени домена или общедоступного IP-адреса. Также убедитесь, что информация базы данных в файле конфигурации соответствует вашим действительным учетным данным.

В конце файла добавьте c['buildbotNetUsageData'] = None. Этот параметр отключит отправку разработчикам информации о версии программного обеспечения и использовании плагина. Однако, чтобы разрешить отправку информации об использовании, измените параметр на Full.

Конфигурация должна выглядеть следующим образом.

c['workers'] = [worker.Worker("localhost-worker", "Password123")]
...    

c['builders'].append(
    util.BuilderConfig(name="runtests",
      workernames=["localhost-worker"],
      factory=factory))
...

c['title'] = "My Application CI"
c['titleURL'] = "https://example.com/my-app"
...

c['buildbotURL'] = "http://192.168.1.1:8010/"
...

c['db'] = {
    'db_url' : "postgresql://bb_user:DBpassword@localhost/buildbot",
}
...

c['buildbotNetUsageData'] = None

Сохраните файл и выйдите из редактора. Проверьте файл конфигурации на наличие ошибок.

buildbot checkconfig ~/master

Если в файле конфигурации нет ошибок, вы увидите следующий вывод.

[buildbot@vultr ~]$ buildbot checkconfig ~/master
Config file is good!

Теперь, когда все настроено правильно, вы можете запустить мастер Buildbot.

buildbot start ~/master

Вы увидите следующий вывод.

[buildbot@vultr ~]$ buildbot start ~/master
Following twistd.log until startup finished..
The buildmaster appears to have (re)started correctly.

Теперь, когда мастер Buildbot запущен правильно, веб-интерфейс пользователя доступен по адресу http://192.168.1.1:8010. Вы должны увидеть следующий интерфейс Buildbot.

Как установить и настроить Buildbot на CentOS 7

Настроить Buildbot Worker

Поскольку мы уже изменили рабочую конфигурацию в ~/master/master.cfg, мы можем приступить к созданию нового рабочего.

buildbot-worker create-worker ~/worker localhost localhost-worker Password123

Убедитесь, что вы используете точно такое же имя и пароль работника, как указано в ~/master/master.cfgфайле. В случае несоответствия имени или пароля работника работник не сможет подключиться к мастеру Buildbot. Вы увидите следующий вывод после успешного выполнения.

[buildbot@vultr ~]$ buildbot-worker create-worker ~/worker localhost example-worker pass
mkdir /home/buildbot/worker
mkdir /home/buildbot/worker/info
Creating info/admin, you need to edit it appropriately.
Creating info/host, you need to edit it appropriately.
Not creating info/access_uri - add it if you wish
Please edit the files in /home/buildbot/worker/info appropriately.
worker configured in /home/buildbot/worker

Информация о работнике хранится в /infoсправочнике. Изменить административную информацию о разработчике.

nano ~/worker/info/admin

Замените имя примера на ваше настоящее имя и адрес электронной почты.

Your Name <[email protected]>

Теперь откройте файл, содержащий информацию о хосте.

nano ~/worker/info/host

Замените примерную инструкцию фактической информацией о хост-системе.

Localhost, CentOS 7

Рабочая администратор и информация о хосте используются только для того, чтобы рассказать пользователям о системе. Вы также можете добавить дополнительную информацию о системе, такую ​​как версия Buildbot и версия Twisted.

Начать рабочий.

buildbot-worker start ~/worker

Вывод будет выглядеть как следующий текст.

[buildbot@vultr ~]$ buildbot-worker start ~/worker
Following twistd.log until startup finished..
The buildbot-worker appears to have (re)started correctly.

Чтобы проверить, зарегистрирован ли работник, зайдите в веб-интерфейс Buildbot и перейдите к Builds >> Workersлевой навигационной панели . Вы должны увидеть, что рабочий уже готов и готов к сборке.

Как установить и настроить Buildbot на CentOS 7

Чтобы запустить пример сборки, чтобы проверить, успешно ли работает работник Buildbot, перейдите к Builds >> Builders. Нажмите на runtestsимя строителя, чтобы открыть интерфейс строителя, и нажмите на Forceкнопку, чтобы вызвать сборку. Укажите свое имя и нажмите на Start Buildкнопку, чтобы начать сборку. Поскольку это тестовый пример сборки для проверки среды Buildbot, он завершится через пару секунд. Вы получите сообщение об успехе и результат сборки.

Как установить и настроить Buildbot на CentOS 7

Настройка службы Systemd

Хотя мастер и рабочий Buildbot могут быть легко запущены с помощью приведенных выше команд, рекомендуется использовать модули Systemd для запуска и управления сервисами Buildbot. Это обеспечит их ��втоматический запуск при перезагрузке системы и сбоях.

Примечание: Переключение на sudoпользователь снова работает либо exitили su <username>. Отныне все команды должны выполняться sudoпользователем.

Остановите работающий рабочий Buildbot и мастер-сервис.

sudo su buildbot -c "buildbot stop /home/buildbot/master" 
sudo su buildbot -c "buildbot-worker stop ~/worker"

Создайте новый файл модуля Systemd для мастера Buildbot.

sudo nano /etc/systemd/system/buildbot.service

Заполните файл.

[Unit]
Description=BuildBot master service 
After=network.target

[Service]
Type=forking
User=buildbot 
Group=buildbot 
WorkingDirectory=/home/buildbot/master 
ExecStart=/usr/bin/buildbot start
ExecStop=/usr/bin/buildbot stop
ExecReload=/usr/bin/buildbot restart

[Install]
WantedBy=multi-user.target

Запустите мастер Buildbot и включите его автоматический запуск во время загрузки.

sudo systemctl start buildbot
sudo systemctl enable buildbot

Создайте новый файл модуля Systemd для работника Buildbot.

sudo nano /etc/systemd/system/buildbot-worker.service

Заполните файл.

[Unit]
Description=BuildBot worker service
After=network.target

[Service]
Type=forking
User=buildbot
Group=buildbot
WorkingDirectory=/home/buildbot/worker
ExecStart=/usr/bin/buildbot-worker start
ExecStop=/usr/bin/buildbot-worker stop
ExecReload=/usr/bin/buildbot-worker restart

[Install]
WantedBy=multi-user.target

Запустите рабочий Buildbot и включите его автоматический запуск во время загрузки.

sudo systemctl start buildbot-worker
sudo systemctl enable buildbot-worker

Вы можете проверить статус услуг.

sudo systemctl status buildbot buildbot-worker

Если службы работают без сбоев, вы увидите это в выводе.

[user@vultr ~]$ sudo systemctl status buildbot buildbot-worker
● buildbot.service - BuildBot master service
...
Active: active (running) since Fri 2018-01-12 16:00:59 UTC; 1min 25s ago
...
Jan 12 16:00:59 vultr.guest systemd[1]: Started BuildBot master service.

● buildbot-worker.service - BuildBot worker service
...
Active: active (running) since Fri 2018-01-12 16:02:00 UTC; 24s ago
...
Jan 12 16:02:00 vultr.guest systemd[1]: Started BuildBot worker service.

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

По умолчанию аутентификация не включена в веб-интерфейсе Buildbot. Для интернет-сайтов настоятельно рекомендуется настроить аутентификацию, чтобы только авторизованные пользователи могли выполнять административные задачи. Чтобы настроить аутентификацию, снова откройте главный файл конфигурации Buildbot.

sudo su buildbot -c "nano /home/buildbot/master/master.cfg"

Добавьте следующие строки в конец файла.

c['www']['authz'] = util.Authz(
       allowRules = [
           util.AnyEndpointMatcher(role="admins")
       ],
       roleMatchers = [
           util.RolesFromUsername(roles=['admins'], usernames=['admin_user'])
       ]
)
c['www']['auth'] = util.UserPasswordAuth({'admin_user': 'AdminPassword'})

Замените оба вхождения admin_userфактическим именем пользователя, которое вы хотите использовать, и AdminPasswordнадежным паролем.

Проверьте на наличие ошибок в файле конфигурации.

sudo su buildbot -c "buildbot checkconfig /home/buildbot/master"

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

sudo systemctl restart buildbot

Снова просмотрите веб-интерфейс и убедитесь, что анонимные пользователи могут просматривать только основные сведения о сервере сборки. Теперь войдите в систему, используя учетные данные, установленные в master.cfgфайле, и вы увидите, что все остальные административные функции доступны только зарегистрированному администратору.

Защита Buildbot с помощью Let's Encrypt SSL

По умолчанию Buildbot прослушивает порт 8010по незащищенным соединениям. HTTPSРекомендуется обеспечить безопасность веб-интерфейса с помощью, чтобы гарантировать безопасность данных при передаче из браузера на сервер. В этом разделе руководства мы установим и защитим Nginx с помощью бесплатных SSL-сертификатов Let's Encrypt. Веб-сервер Nginx будет работать в качестве обратного прокси-сервера для пересылки входящих запросов в конечную точку HTTP Buildbot.

Установите Nginx.

sudo yum -y install nginx

Запустите Nginx и включите его автоматический запуск во время загрузки.

sudo systemctl start nginx
sudo systemctl enable nginx

Установите Certbot, который является клиентским приложением для Let's Encrypt CA.

sudo yum -y install certbot

Прежде чем вы сможете запросить сертификаты, вам необходимо разрешить порты 80и / 443или стандартные HTTPи HTTPSсервисы через брандмауэр. Также удалите порт 8010, который прослушивает незащищенные соединения.

sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --zone=public --remove-port=8010/tcp --permanent
sudo firewall-cmd --reload

Примечание. Чтобы получить сертификаты от Let's Encrypt CA, домен, для которого должны быть созданы сертификаты, должен быть направлен на сервер. Если нет, внесите необходимые изменения в записи DNS домена и дождитесь распространения DNS, прежде чем снова делать запрос сертификата. Certbot проверяет полномочия домена перед предоставлением сертификатов.

Создайте сертификаты SSL.

sudo certbot certonly --webroot -w /usr/share/nginx/html -d ci.example.com

Сгенерированные сертификаты, вероятно, будут храниться в /etc/letsencrypt/live/ci.example.com/каталоге. Сертификат SSL будет сохранен как, fullchain.pemа закрытый ключ - как privkey.pem.

Срок действия сертификатов Let's Encrypt истекает через 90 дней, поэтому рекомендуется настроить автоматическое обновление сертификатов с помощью заданий Cron.

Откройте файл задания cron для rootпользователя.

sudo crontab -e

Добавьте следующую строку в конец файла.

30 5 * * * /usr/bin/certbot renew --quiet

Вышеуказанная работа cron будет выполняться каждый день в 5:30. Если срок действия сертификата истекает, он автоматически обновляет их.

Теперь измените файл конфигурации Nginx по умолчанию, чтобы убрать default_serverстроку.

sudo sed -i 's/default_server//g' /etc/nginx/nginx.conf

Создайте новый файл конфигурации для веб-интерфейса Buildbot.

sudo nano /etc/nginx/conf.d/buildbot.conf

Заполните файл.

upstream buildbot {
server 127.0.0.1:8010;
}

server {
    listen 80 default_server;
    server_name ci.example.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2 default_server;
    server_name ci.example.com;

    root html;
    index index.html index.htm;

    ssl on;
    ssl_certificate         /etc/letsencrypt/live/ci.example.com/fullchain.pem;
    ssl_certificate_key     /etc/letsencrypt/live/ci.example.com/privkey.pem;

    ssl_session_cache      shared:SSL:10m;
    ssl_session_timeout  1440m;
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;

    add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;";

    access_log  /var/log/nginx/buildbot.access.log;

    proxy_set_header HOST $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto  $scheme;
    proxy_set_header X-Forwarded-Server  $host;
    proxy_set_header X-Forwarded-Host  $host;

    location / {
        proxy_pass http://buildbot;
    }
    location /sse/ {
        proxy_buffering off;
        proxy_pass http://buildbot/sse/;
    }
    location /ws {
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_pass http://buildbot/ws;
        proxy_read_timeout 6000s;
    }
}

Проверьте на наличие ошибок в новом файле конфигурации.

sudo nginx -t

Если вы видите следующий вывод, конфигурация без ошибок.

[user@vultr ~]$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Если вы получили какую-то ошибку, не забудьте дважды проверить путь к сертификатам SSL. Перезапустите веб-сервер Nginx, чтобы внести изменения в конфигурацию.

sudo systemctl restart nginx

Откройте файл конфигурации Buildmaster.

sudo su buildbot -c "nano /home/buildbot/master/master.cfg"

Найдите следующую строку.

c['buildbotURL'] = "http://192.168.1.1:8010/"

Измените URL в соответствии с именем домена, которое вы используете.

c['buildbotURL'] = "https://ci.example.com/"

Перезапустите мастер-сервис Buildbot.

sudo systemctl restart buildbot

Теперь вы можете получить доступ к панели инструментов Buildbot по адресу https://ci.example.com. Вы увидите, что соединения с Buildbot теперь защищены с помощью SSL.

Как установить и настроить Buildbot на CentOS 7

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



Leave a Comment

Как установить Anchor CMS на CentOS 7 LAMP VPS

Как установить Anchor CMS на CentOS 7 LAMP VPS

Используете другую систему? Anchor CMS - это сверхпростая и чрезвычайно легкая бесплатная система управления контентом (CMS) с открытым исходным кодом.

Как обновить CentOS 7, Ubuntu 16.04 и Debian 8

Как обновить CentOS 7, Ubuntu 16.04 и Debian 8

При настройке нового сервера Linux рекомендуется обновить ядро ​​системы и другие пакеты до последней стабильной версии. В этой статье

Как установить Backdrop CMS 1.8.0 на CentOS 7 LAMP VPS

Как установить Backdrop CMS 1.8.0 на CentOS 7 LAMP VPS

Используете другую систему? Backdrop CMS 1.8.0 - это простая и гибкая, удобная для мобильных устройств, бесплатная система с открытым исходным кодом (CMS), которая позволяет нам

Настройте Magento на CentOS 6

Настройте Magento на CentOS 6

Если вы хотите разместить свой инвентарь в Интернете или просто магазин технических аксессуаров, Magento - отличное решение для электронной коммерции в Интернете. Это статья

Как установить AirSonic на CentOS 7

Как установить AirSonic на CentOS 7

Используете другую систему? AirSonic - это бесплатный и потоковый сервер с открытым исходным кодом. В этом уроке я проведу вас через процесс развертывания

Как установить OrangeScrum на CentOS 7

Как установить OrangeScrum на CentOS 7

OrangeScrum - это бесплатный инструмент управления проектами с открытым исходным кодом, который широко используется в малом и среднем бизнесе. В этой статье я проведу вас через

Как установить и настроить OrientDB Community Edition для CentOS 7

Как установить и настроить OrientDB Community Edition для CentOS 7

OrientDB - это мультимодельная СУБД NoSQL с открытым исходным кодом нового поколения. Благодаря поддержке нескольких моделей данных OrientDB может обеспечить большую функциональность и гибкость в

Как установить Vtiger CRM с открытым исходным кодом на CentOS 7

Как установить Vtiger CRM с открытым исходным кодом на CentOS 7

Vtiger CRM - это популярное приложение для управления взаимоотношениями с клиентами, которое может помочь предприятиям увеличить продажи, обеспечить обслуживание клиентов и увеличить прибыль. я

Как установить MaraDNS на CentOS 6

Как установить MaraDNS на CentOS 6

MaraDNS - это легкая, но надежная программа с открытым исходным кодом для DNS-сервера. По сравнению с другими приложениями того же типа, такими как ISC BIND, PowerDNS и djbdns

Установка Netdata в CentOS 7

Установка Netdata в CentOS 7

Используете другую систему? Netdata - восходящая звезда в области мониторинга показателей системы в режиме реального времени. По сравнению с другими инструментами того же рода, Netdata:

Как установить Starbound Server в CentOS 7

Как установить Starbound Server в CentOS 7

Используете другую систему? В этом уроке я расскажу, как настроить сервер Starbound в CentOS 7. Предварительные условия Вы должны иметь эту игру на себе

Кластеризация RabbitMQ на CentOS 7

Кластеризация RabbitMQ на CentOS 7

RabbitMQ - это брокер сообщений с открытым исходным кодом, который поддерживает AMQP, STOMP и другие коммуникационные технологии. Широко используется в корпоративных приложениях

Настройка многопользовательского сервера SA-MP San Andreas на CentOS 6

Настройка многопользовательского сервера SA-MP San Andreas на CentOS 6

Добро пожаловать в другой учебник Vultr. Здесь вы узнаете, как установить и запустить сервер SAMP. Это руководство было написано для CentOS 6. Предварительные условия

Установите Elgg на CentOS 7

Установите Elgg на CentOS 7

Используете другую систему? Elgg - это движок социальных сетей с открытым исходным кодом, который позволяет создавать социальные среды, такие как социальные сети кампуса и

Установка Bolt CMS на CentOS 7

Установка Bolt CMS на CentOS 7

Bolt - это CMS с открытым исходным кодом, написанная на PHP. Исходный код Bolts размещен на GitHub. Это руководство покажет вам, как установить Bolt CMS на новую CentOS 7 Vult.

Как установить и использовать Apache PredictionIO для машинного обучения в CentOS 7

Как установить и использовать Apache PredictionIO для машинного обучения в CentOS 7

Традиционные подходы к анализу данных невозможно использовать, когда наборы данных достигают определенного размера. Современная альтернатива анализу огромных массивов данных, которые я

Как установить Elasticsearch на экземпляре Vultr CentOS 7 Server

Как установить Elasticsearch на экземпляре Vultr CentOS 7 Server

Elasticsearch - популярный движок полнотекстового поиска и аналитики с открытым исходным кодом. Благодаря своей универсальности, масштабируемости и простоте использования, Elasticsearch широко используется

Развертывание Kubernetes с помощью Kubeadm на CentOS 7

Развертывание Kubernetes с помощью Kubeadm на CentOS 7

Обзор Эта статья призвана помочь вам в кратчайшие сроки запустить и запустить кластер Kubernetes с помощью kubeadm. Это руководство будет развертывать два сервера, на

Настройте Sails.js для разработки на CentOS 7

Настройте Sails.js для разработки на CentOS 7

Используете другую систему? Введение Sails.js - это инфраструктура MVC для Node.js, аналогичная Ruby on Rails. Это делает для разработки современных приложений вер

Как установить PufferPanel (бесплатная панель управления Minecraft) на CentOS 7

Как установить PufferPanel (бесплатная панель управления Minecraft) на CentOS 7

Введение В этом руководстве мы будем устанавливать PufferPanel на нашем Vultr VPS. PufferPanel - это бесплатная панель управления с открытым исходным кодом для управления вами.

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

6 невероятных фактов о Nintendo Switch

6 невероятных фактов о Nintendo Switch

Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.

Технические обещания, которые все еще не выполнены

Технические обещания, которые все еще не выполнены

Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.

Функциональные возможности уровней эталонной архитектуры больших данных

Функциональные возможности уровней эталонной архитектуры больших данных

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

Как ИИ может вывести автоматизацию процессов на новый уровень?

Как ИИ может вывести автоматизацию процессов на новый уровень?

Прочтите это, чтобы узнать, как искусственный интеллект становится популярным среди небольших компаний и как он увеличивает вероятность их роста и дает преимущество перед конкурентами.

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

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

Телемедицина и удаленное здравоохранение: будущее уже здесь

Телемедицина и удаленное здравоохранение: будущее уже здесь

Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше