LoginSignup
1
1

More than 5 years have passed since last update.

hubot-starbucks-egiftの環境構築方法

Last updated at Posted at 2015-07-07

概要

hubot-starbucks-egiftの環境構築方法をまとめました

docker/docker-composeをインストール

  • seleniumをインストールする必要がある関係で、docker上にhubotを作成する
  • docker/docker-composeのインストールは公式ページを参考にインストール
  • docker
  • docker-compose

ディレクトリ構成

app
docker-compose.ymlを配備
app/bot
hubotコンテナのディレクトリ
app/bot/resources
メッセージを格納するディレクトリ
app/bot/judge
条件判定スクリプトを格納するディレクトリ

 ホスト環境にhubotをインストール

hubotをインストール

npm install -g hubot coffee-script yo generator-hubot 

hubotを作成

app/botのディレクトリに移動し、雛形を作成する

app/bot
yo hubot

package.jsonとexternal-scripts.jsonにhubot-starbucks-egiftを追記する

app/bot/package.json
"dependencies": {
  "hubot-starbucks-egift": "0.0.1"
}
app/bot/external-scripts.json
["hubot-starbucks-egift"]

Dockerfileを作成する

app/botにDockerfileを作成する
※adapterをslackにしています

app/bot/Dockerfile
FROM iojs:2.3.0

RUN mkdir /bot && cd /bot
ADD . /bot

WORKDIR /bot

CMD ["bin/hubot", "--adapter", "slack"]

docker-compose.ymlを作成する

appディレクトリにdocker-compose.ymlを作成
※ ブラウザを確認できるようにデバッグ用の設定です

app/docker-compose.yml
selenium:
  image: selenium/standalone-chrome-debug:2.46.0
  ports:
    - "4444:4444"
    - "5900:5900"
  environment:
    SCREEN_WIDTH: 1280
    SCREEN_HEIGHT: 800
  volumes:
    - /dev/urandom:/dev/random

bot:
  build: ./bot
  restart: always # 接続が切れるとhubotが落ちるので再起動を設定
  ports:
    - "8080:8080"
  environment:
    HUBOT_SLACK_TOKEN: 
    SELENIUM_BROWSER: chrome
    SELENIUM_REMOTE_URL: http://<プライベートIP>:4444/wd/hub # なぜかlocalhostだと接続できないので
    STARBUCKS_MAIL_ADDRESS: 決済通知用のメールアドレス
    STARBUCKS_CREDIT_NUMBER: "クレジットカード番号"
    STARBUCKS_CREDIT_MONTH: "クレジットカード(月)"
    STARBUCKS_CREDIT_YEAR: "クレジットカード(年)"

起動

appディレクトリで以下を実行すると、hubotとseleniumのコンテナが起動する

app
docker-compose up -d
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1