Hubot을 설치하고 HipChat과 함께 작업
사전 쓰기
기사 찾으면 풍부하게 찾을 수 있고 초지금 경감을 부정할 수 없습니다만, 비망록으로서 남겨 둡니다.
nodebrew
hokaccha/nodebrew: Node.js version manager
설치
Node.js를 버전 관리하고 싶기 때문에 nodebrew를 사용합니다.
$ curl -L git.io/nodebrew | perl - setup
or
$ wget git.io/nodebrew
$ perl nodebrew setup
PATH 추가
echo 'export PATH=$HOME/.nodebrew/current/bin:$PATH' >> ~/.bashrc
~/.bashrc 다시 로드
$ source ~/.bashrc
확인
$ nodebrew help
Node.js
설치할 수 있는 버전 확인
$ nodebrew ls-remote
설치
$ nodebrew install-binary v5.7.1
버전 선택
$ nodebrew use v5.7.1
use v5.7.1
확인
설치한 버전을 모두 표시합니다.
current
가 선택한 버전입니다.$ nodebrew ls
v5.7.1
current: v5.7.1
Hubot
github/hubot: A customizable life embetterment robot.
설치
Hubot 2.9.x는 Yeoman 생성기로 설치됩니다.
$ npm install -g coffee-script yo generator-hubot
인스턴스 생성
$ mkdir myhubot
$ cd myhubot
$ yo hubot
_____________________________
/ \
//\ | Extracting input for |
////\ _____ | self-replication process |
//////\ /_____\ \ /
======= |[^_/\_]| /----------------------------
| | _|___@@__|__
+===+/ /// \_\
| |_\ /// HUBOT/\\
|___/\// / \\
\ / +---+
\____/ | |
| //| +===+
\// |xx|
? Owner [email protected]
? Bot name myhubot
? Description A simple helpful robot for your Company
? Bot adapter (campfire) hipchatgot back false
? Bot adapter hipchat
create bin/hubot
create bin/hubot.cmd
create Procfile
create README.md
create external-scripts.json
create hubot-scripts.json
create .gitignore
create package.json
create scripts/example.coffee
create .editorconfig
_____________________________
_____ / \
\ \ | Self-replication process |
| | _____ | complete... |
|__\\| /_____\ \ Good luck with that. /
|//+ |[^_/\_]| /----------------------------
| | _|___@@__|__
+===+/ /// \_\
| |_\ /// HUBOT/\\
|___/\// / \\
\ / +---+
\____/ | |
| //| +===+
\// |xx|
시작
$ cd ~/myhubot
$ bin/hubot
myhubot> [Thu Mar 03 2016 08:16:24 GMT+0000 (UTC)] ERROR hubot-heroku-alive included, but missing HUBOT_HEROKU_KEEPALIVE_URL. `heroku config:set HUBOT_HEROKU_KEEPALIVE_URL=$(heroku apps:info -s | grep web-url | cut -d= -f2)`
[Thu Mar 03 2016 08:16:24 GMT+0000 (UTC)] INFO hubot-redis-brain: Using default redis on localhost:6379
[Thu Mar 03 2016 08:16:24 GMT+0000 (UTC)] INFO hubot-redis-brain: Data for hubot brain retrieved from Redis
ERROR hubot-heroku-alive included, but missing HUBOT_HEROKU_KEEPALIVE_URL.
라는 오류가 발생했으므로 다음과 같이 수정합니다.external-scripts.json 수정
~/myhubot/external-scripts.json
[
"hubot-diagnostics",
"hubot-help",
- "hubot-heroku-keepalive",
"hubot-google-images",
"hubot-google-translate",
"hubot-pugme",
"hubot-maps",
"hubot-redis-brain",
"hubot-rules",
"hubot-shipit"
]
다시 시작하고 확인
$ cd ~/myhubot
$ bin/hubot
myhubot> [Thu Mar 03 2016 08:24:56 GMT+0000 (UTC)] INFO hubot-redis-brain: Using default redis on localhost:6379
[Thu Mar 03 2016 08:24:56 GMT+0000 (UTC)] INFO hubot-redis-brain: Data for hubot brain retrieved from Redis
myhubot> myhubot ping
myhubot> PONG
HipChat
hipchat/hubot-hipchat: HipChat adapter for GitHub's Hubot
HipChat Adapter 설치
HipChat 본체는 Adapter라는 것을 통해 Hubot과 교환을 실시합니다.
$ cd ~/myhubot
$ npm install hubot-hipchat --save
~/myhubot/bin/hubot
#!/bin/sh
set -e
npm install
export PATH="node_modules/.bin:node_modules/hubot/node_modules/.bin:$PATH"
+
+ export HUBOT_HIPCHAT_JID="[email protected]"
+ export HUBOT_HIPCHAT_PASSWORD="XXXXXX"
+ export HUBOT_HIPCHAT_ROOMS="[email protected]"
+ export HUBOT_LOG_LEVEL="debug"
exec node_modules/.bin/hubot --name "myhubot" "$@"
시작
$ bin/hubot -a hipchat
확인
forever forever를 설치하여 Hubot을 데몬화합니다. foreverjs/forever: A simple CLI tool for ensuring that a given script runs continuously (i.e. forever)
설치
$ npm install forever -g
bin/hubot 편집
bin/hubot
#!/bin/sh
set -e
npm install
export PATH="node_modules/.bin:node_modules/hubot/node_modules/.bin:$PATH"
export HUBOT_HIPCHAT_JID="[email protected]"
export HUBOT_HIPCHAT_PASSWORD="XXXXXX"
export HUBOT_HIPCHAT_ROOMS="[email protected]"
export HUBOT_LOG_LEVEL="debug"
- exec node_modules/.bin/hubot --name "myhubot" "$@"
+ forever start -c coffee node_modules/.bin/hubot -a hipchat
시작
$ bin/hubot
warn: --minUptime not set. Defaulting to: 1000ms
warn: --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
info: Forever processing file: node_modules/.bin/hubot
확인
$ forever list
info: Forever processes running
data: uid command script forever pid id logfile uptime
data: [0] 2sAI coffee node_modules/.bin/hubot -a hipchat 2137 2142 /home/vagrant/.forever/2sAI.log 0:0:0:19.806
참고문헌
Reference
이 문제에 관하여(Hubot을 설치하고 HipChat과 함께 작업), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kotarella1110/items/cf4d96cdf3aeead9c83b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)