My Notes

仕事はしたくないけど褒められたいゆとりーまんの物置

気軽にAWS+Vagrant+Slack+Hubot導入

やりたいこと

■ChatOpsの現実的な利用方法確立

■CI/CD/TDDの土台作り

SaaSを分けることで可用性を担保できるようにする

■「自動化」って結局何を積み重ねているのかを可視化する

 

今回やったこと

■Qiitaを見回った

VagrantAWS-ProviderからEC2を構築した

■プライベートSlackにHubotを招待した

 

次にやるべきこと

GitHubのIssueをHubotからSlackに通知させる

 

ワークフロー

VagrantからAWSのEC2を立ち上げる

【参考】

qiita.com

cd vagrant

mkdir aws

vagrant plugin install vagrant-aws

vagrant init

vagrant up --provider=aws

 

Vagrantfileの設定は下記の通り

# -*- mode: ruby -*-
# vi: set ft=ruby :

AWS_ACCESS_KEY_ID = "ほげ"
AWS_SECRET_KEY = "ぴよ"

Vagrant.configure("2") do |config|
  config.vm.box = "dummy"
  config.vm.box_url = "https://github.com/mitchellh/vagrant-aws/raw/master/dummy.box"
  config.vm.synced_folder ".", "/vagrant", disabled: true
 
  config.vm.provider :aws do |aws, override|
    aws.ami = "ami-9f0c67f8"
    aws.tags = { 'Name' => 'VagrantAL'}
    aws.instance_type = "t2.micro"
    aws.security_groups = ["sg-67981700"]
    aws.access_key_id = AWS_ACCESS_KEY_ID
    aws.secret_access_key = AWS_SECRET_KEY
    aws.region = "ap-northeast-1"
    aws.keypair_name = "vagrant"
    override.ssh.username = "ec2-user"
    override.ssh.private_key_path = "C:/vagrant/AWS/ssh/vagrant.pem"
    aws.subnet_id = "subnet-bb96f5cd"
    aws.private_ip_address = "172.31.100.10"
    aws.elastic_ip = true
  end

end

 

プライベートSlackにHubotをIntegration Settingする

【参考】

qiita.com

f:id:kannagi_air:20170107145309p:plain

Browse AppsからHubotを検索

Setup Instructionsに表示されるAPI Tokenを下記で使う

 

 EC2にSSH接続してHubotをインストールする

sudo yum install nodejs npm --enablerepo=epel

sudo npm install -g n

sudo n stable

# Yeoman (yo) と Hubot の Yeoman ジェネレーター (generator-hubot) をインストール

sudo npm install -g yo generator-hubot

sudo npm install inherits -g

sudo npm list -g generator-hubot yo

cd /opt/

mkdir empty && cd empty

export HUBOT_SLACK_TOKEN="Slack API Token"

# 4項目めのBot AdapterにSlackを入力

yo hubot

bin/hubot -a slack

 

 

SlackのDMで話しかける

f:id:kannagi_air:20170107150046p:plain

 

適当な部屋に招待して話しかける

f:id:kannagi_air:20170107150221p:plain

 

まいめも

ChatWorkだとこんな感じらしい、API申請通ったらやってみよう

www.wegirls.tech

ようやくはてなDTを卒業した…一記事坊主にならないよう頑張る!