前に書いた記事
で書いたスクリプトがProxy環境下で動作しなくなってしまった。
どうも
をcloneしてちくちくbuildしていくと
npmコマンドへのproxyを設定しないとビルドに失敗してしまうのだ。
Dockerfileの中でスイッチユーザしてたりして厄介だ..
..ということで、Dockerfileを自分で書いてみた。
ベースイメージはnodeの安定版がv6.11らしいので、コッチをつかってみた。
DockerfileのENVやARG指定を、各自の環境に合わせて変更して、
mkdir -p data && chmod a+rwx data && sudo docker build --name myhubot:latest .
sudo docker run -v data:/home/hubot/scripts -p3001:8080 mybot:latest
を実行してもいいし、
mkdir -p data && chmod a+rwx data
sudo docker build --name hara2/myhubot:latest --build-arg HTTP_PROXY=http://my,proxy:8080 --build-arg HTTPS_PROXY=http://my.proxy.8080 .
sudo docker run -e ROCKETCHAT_USER=mybot -e ROCKETCHAT_PASSWORD=mybotpass -v data:/home/hubot/scripts -p 3001:8080 hara2/myhubot:latest
と全部引数指定しても良い。
hubot-scripts.jsonやexternal-scripts.jsonの扱いが今後も変わってきそうなので
このあたりまた動かかなくなるかもしれない。
けどDockerfileを見てもらったらわかると思うけど、
インストール手順に従っただけなので、
動かなくなったらちょこちょこ直して動かせるようにするにはそう難しい技術がいるわけでもない。
#ので、今後動かなくなっても、あとは各自でやってください..
HuBotを使ってRocketChat用のチャットボットを試しに作ってみる
https://fight-tsk.blogspot.jp/2017/04/hubotrocketchat.html
で書いたスクリプトがProxy環境下で動作しなくなってしまった。
どうも
[GitHub] hubot-rocketchat
https://github.com/RocketChat/hubot-rocketchat
をcloneしてちくちくbuildしていくと
npmコマンドへのproxyを設定しないとビルドに失敗してしまうのだ。
Dockerfileの中でスイッチユーザしてたりして厄介だ..
..ということで、Dockerfileを自分で書いてみた。
ベースイメージはnodeの安定版がv6.11らしいので、コッチをつかってみた。
FROM node:6.11
MAINTAINER hara hara development
# change your setting or overwrite with build parameters
ARG HTTP_PROXY=http://proxy.server:8080
ARG HTTPS_PROXY=$HTTP_PROXY
USER root
RUN npm -g config set proxy $HTTP_PROXY && \
npm -g config set https-proxy $HTTPS_PROXY && \
npm -g config set registry http://registry.npmjs.org/ && \
npm install -g yo generator-hubot && \
npm install -g hubot-rocketchat@1 && \
useradd hubot -m
USER hubot
WORKDIR /home/hubot
# change your setting or overwrite command parameter
ENV ROCKETCHAT_URL=change_rocketchat_server:3000
ENV ROCKETCHAT_ROOM=
ENV BOT_OWNER="Change Your Name"
ENV BOT_NAME=bot
ENV BOT_DESC="change bot description"
ENV ROCKETCHAT_USER=bot
ENV ROCKETCHAT_PASSWORD=password
ENV ROCKETCHAT_AUTH=password
ENV LISTEN_ON_ALL_PUBLIC=true
ENV EXTERNAL_SCRIPTS=hubot-diagnostics,hubot-help,hubot-google-images,hubot-google-translate,hubot-pugme,hubot-maps,hubot-redis-brain,hubot-rules,hubot-shipit,hubot-jenkins-notifier,hubot-grafana
ENV TZ=Asia/Tokyo
RUN cd $HOME && \
yo hubot --owner=$BOT_OWNER --name=$BOT_NAME --description=$BOT_DESC --adapter="rocketchat@1" && \
node -e "console.log(JSON.stringify('$EXTERNAL_SCRIPTS'.split(',')))" > external-scripts.json && \
npm install $(node -e "console.log('$EXTERNAL_SCRIPTS'.split(',').join(' '))")
EXPOSE 8080
CMD bin/hubot $BOT_NAME -a rocketchat
DockerfileのENVやARG指定を、各自の環境に合わせて変更して、
mkdir -p data && chmod a+rwx data && sudo docker build --name myhubot:latest .
sudo docker run -v data:/home/hubot/scripts -p3001:8080 mybot:latest
を実行してもいいし、
mkdir -p data && chmod a+rwx data
sudo docker build --name hara2/myhubot:latest --build-arg HTTP_PROXY=http://my,proxy:8080 --build-arg HTTPS_PROXY=http://my.proxy.8080 .
sudo docker run -e ROCKETCHAT_USER=mybot -e ROCKETCHAT_PASSWORD=mybotpass -v data:/home/hubot/scripts -p 3001:8080 hara2/myhubot:latest
と全部引数指定しても良い。
hubot-scripts.jsonやexternal-scripts.jsonの扱いが今後も変わってきそうなので
このあたりまた動かかなくなるかもしれない。
けどDockerfileを見てもらったらわかると思うけど、
インストール手順に従っただけなので、
動かなくなったらちょこちょこ直して動かせるようにするにはそう難しい技術がいるわけでもない。
#ので、今後動かなくなっても、あとは各自でやってください..
0 件のコメント:
コメントを投稿