Статьи

Установка и запуск Hubot — бот для автоматизации и веселья!


В этом посте мы узнаем, как установить
hubot и заставить его работать по
протоколу
XMPP (используя сервер openfire). Мы также увидим, как это может помочь нам в нашей повседневной работе.


GitHub, Inc. написала первую версию Hubot для автоматизации чата нашей компании.
Hubot знал, как развернуть сайт, автоматизировать множество задач и быть источником удовольствия в компании.
Github

Hubot — это робот, который принадлежит к вашей чат-инфраструктуре как еще один пользователь, с которым вы можете общаться.
Hubot может помочь вам автоматизировать множество задач, таких как развертывание сайта, управление
Pomodoro или управление системой отслеживания проблем.
Hubot написан на
CoffeScript для
Node.js , поэтому имейте в виду, что
Hubot можно легко расширить с помощью
CoffeScript . На самом деле, самое интересное происходит, когда вы
добавляете свои собственные сценарии .

Этот пост написан с использованием
Ubuntu , поэтому, если вы используете любую другую ОС, вам нужно только изменить способ установки компонентов.

Прежде всего (я предполагаю , что у
вас есть
JVM установлен), необходимо установить
НПМ и
Node.js . Для этого я использовал
apt-get .
sudo apt-get install nodejs npm

Затем вы установите
Hubot- зависимости, выполнив следующую команду
apt-get .

apt-get install build-essential libssl-dev git-core redis-server libexpat1-dev

Затем нам нужно установить
CoffeScript . Таким образом, мы можем запустить следующую команду:

npm install -g coffee-script

И, наконец, мы собираемся установить
Hubot в
каталог
/ opt . Очевидно, это может быть любой другой.
cd /opt
git clone git://github.com/github/hubot.git && cd hubot
npm install

Hubot установлен! Чтобы увидеть, работает ли он, просто запустите его из установочного каталога:

alex@grumpy:/opt/hubot$ ./bin/hubot

и
оболочка
Hubot запустится. Эта оболочка действительно полезна для тестирования, но не для производственных сред.

Hubot> hubot ping
Hubot> PONG

Это создаст
сообщение
Pong .

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

Чтобы установить его, загрузите его с
сайта
openfire
и распакуйте в
каталог / opt .

tar -xzvf openfire_<version>.tar.gz
mv openfire /opt

Теперь пришло время настроить
сервер
Openfire . Мы собираемся использовать встроенную базу данных, но, конечно, вы можете настроить внешнюю базу данных, такую ​​как
MySQL или
Oracle .

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

$OPENFIRE_HOME/bin/openfire start

и доступ к
http: // localhost: 9090 .

Затем войдите в систему как администратор, а затем создайте первых двух пользователей,
разработчика и
hubot . Перейдите в 
Пользователи / Группы -> Создать нового пользователя и заполните необходимую информацию для обоих пользователей.

Далее вы создадите комнату, в которую войдут все пользователи, которые хотят взаимодействовать с
Hubot . Перейдите в 
Групповой
чат -> Создать новую комнату и создайте новую комнату. В нашем случае мы будем называть это
hubot .

и, наконец, мы должны отключить
безопасность
TLS , существует проблема между
версией
Openfire TLS и
модулем
XMPP node.js, поэтому, если вы используете
Openfire , вы должны отключить его.

Следующим шагом является проверка того, что пользователь-разработчик имеет доступ к
чат- комнате Hubot и проверка правильности настройки учетной записи. Мы можем открыть наш
XMPP- клиент (в нашем случае
Spark ), но он должен работать с любым другим, а затем проверить, что мы можем подключиться.


Если вы используете
Spark , войдите в систему с учетной записью разработчика, и в
меню «
Действия» вы найдете опцию «
Присоединиться к конференц- залу». Теперь выберите ранее созданную комнату (
концентратор ) и убедитесь, что вы правильно настроили часть XMPP. 

Теперь настало время для
Hubot . Прежде всего мы собираемся создать бота под названием
my-bot :

alex@grumpy:/opt/hubot$ ./bin/hubot -c ./my-bot

Затем войдите в
каталог
my-bot и откройте
package.json и добавьте следующие зависимости, которые настроят адаптер, чтобы
Hubot мог использовать протокол XMPP для связи:

"dependencies": {
    "hubot": "2.3.2",
    "hubot-scripts": ">= 2.1.0",
    "optparse": "1.0.3",
    "node-xmpp": "0.3.2",
    "hubot-xmpp": "0.1.0",
    "htmlparser": "1.7.6",
    "soupselect": "0.2.0",
    "underscore": "1.3.3",
    "underscore.string": "2.2.0rc"
  }

Затем перед запуском
Hubot необходимо установить
адаптер
XMPP . Запустите
npm install из
каталога
hubot , и
расширение
XMPP будет установлено в
hubot .
alex@grumpy:/opt/hubot/my-bot$ npm install

И теперь мы готовы начать использовать
Hubot и
Openfire .

Мы начнем с добавления переменных среды для настройки
адаптера
XMPP .

export HUBOT_XMPP_USERNAME=hubot@grumpy
export HUBOT_XMPP_PASSWORD=<password>
export HUBOT_XMPP_ROOMS=hubot

Обратите внимание, что
имя пользователя должно сопровождать имя вашего сервера, которое в моем случае 
раздражительно . И наконец пришло время начать
Hubot .

alex@grumpy:/opt/hubot/my-bot$ ./bin/hubot --adapter xmpp

Вы увидите своего нового друга в Spark (если вы уже добавили
Hubot в друзья).

И после того, как вы проверите, что мы можем перейти к hubot-скриптам, чтобы загрузить и установить полезные в зависимости от нашей среды.

В этом видео вы можете увидеть скриншот Hubot In Action с некоторыми сценариями, которые я использую.

Я надеюсь, что вам нравится Hubot!