В этом посте мы узнаем, как установить
hubot и заставить его работать по
протоколу XMPP (используя сервер openfire). Мы также увидим, как это может помочь нам в нашей повседневной работе.
GitHub, Inc. написала первую версию Hubot для автоматизации чата нашей компании. Hubot знал, как развернуть сайт, автоматизировать множество задач и быть источником удовольствия в компании. —
Github
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!