apresentação guru slack hubot

37
Ferramentas em produção Slack e HUBOT

Upload: vinicius-carvalho

Post on 13-Aug-2015

55 views

Category:

Software


5 download

TRANSCRIPT

Page 1: Apresentação guru   slack hubot

Ferramentas em produção Slack e HUBOT

Page 2: Apresentação guru   slack hubot

Vinicius Carvalho

iOS and Ruby developer | Integrador local CocoaHeads Fortaleza

Você pode me achar nas redes sociais:@viniciusc70

Page 3: Apresentação guru   slack hubot

Você usa Slack?

Page 4: Apresentação guru   slack hubot

1.TODA COMUNIDADE E SEUS TIMES EM UM SÓ LUGAR.

São alguns exemplos…iosdevbr.slack.comandroiddevbr.slack.comruby-talk.slack.com

Razões para usar Slack

Page 5: Apresentação guru   slack hubot
Page 6: Apresentação guru   slack hubot

2.INTEGRAÇÕES COM OUTRAS FERRAMENTAS.

Page 7: Apresentação guru   slack hubot
Page 8: Apresentação guru   slack hubot

3.FERRAMENTA DE BUSCA.

Page 9: Apresentação guru   slack hubot
Page 10: Apresentação guru   slack hubot

4.COMPARTILHAR ARQUIVOS.

Page 11: Apresentação guru   slack hubot

5.CODE SNIPPETS.

Page 12: Apresentação guru   slack hubot
Page 13: Apresentação guru   slack hubot

6.GRUPOS PRIVADOS.

Page 14: Apresentação guru   slack hubot

7.ACESSÍVEL EM MULTI PLATAFORMAS.

Page 15: Apresentação guru   slack hubot

HUBOT <3O nosso amigo robô.

○ HUBOT.GITHUB.COM

Page 16: Apresentação guru   slack hubot

1.Instalação Hubot2.Visão do Coffescript3.Hubot Overview4.APIs

Page 17: Apresentação guru   slack hubot

BIG INSTALAÇÃO

1. Instalação Node & Redis( brew install node redis )

2. Seguir as instruções do brew’s para rodar o redis3. Install Hubot

( npm install -g hubot )

Page 18: Apresentação guru   slack hubot

Encontre uma bela casa para Hubotcd em seu diretório “projects"

run hubot -c airbot para gerar o boilerplatecd airbotnpm install

Page 19: Apresentação guru   slack hubot

Hello Worldrun bin/hubot

escreva hubot ping e aperte enter

Page 20: Apresentação guru   slack hubot

CREDITS

Page 21: Apresentação guru   slack hubot

Uma pequena introdução ao Coffescript :˜

Page 22: Apresentação guru   slack hubot

introMessage = (user) -> if user?.name? and user?.hobby? "hello, I am #{response.name}, " + "a #{response.hobby}ist." else message = "Please tell me more about yourself."

message

me = name: "Chiquim" hobby: "Hubot curation"

console.log introMessage(me)

#hello, I am Chiquim, a Hubot curationist

Page 23: Apresentação guru   slack hubot

Hubot Structure• Procfile (Heroku startup script)• README.md• bin/ (contains hubot executable)• external-scripts.json (list of packages from npm)• hubot-scripts.json (list of packages from hubot-scripts)• package.json (node package manager metainformation)• scripts/ (custom hubot script directory)

Page 24: Apresentação guru   slack hubot

Exemplo Hubot Scriptcreate and edit scripts/goodbye.coffee

Page 25: Apresentação guru   slack hubot

module.exports = (robot) ->

robot.hear /(bye | later),?\s(.*)/i, (msg) ->

if root.name.toLowerCase() == msg.match[2].toLowerCase() byeMessage = goodbye(msg.message.user.name) msg.send(byeMessage)

goodbyes = [ "Bye, {name}.", "Later, {name}.", "Take care, {name}."]

goodbye = (name) -> index = parseInt(Math.random() * goodbyes.length) message = goodbyes[index] message.replace(/{name}/, name);

Page 26: Apresentação guru   slack hubot
Page 27: Apresentação guru   slack hubot

hubot persistanceUm armazenamento simples através do hubot.brain

carregado por redis-brain, mongo-brain, etc.(Você pode encontrar estes em hubot-scripts ou escrever o SEU! )

Page 28: Apresentação guru   slack hubot

# you may want to wait until the brain has been initialized# and there is a database connectionrobot.brain.on 'loaded', -> robot.brain.lastAccessed = new Date() robot.brain.seagulls = 12 robot.brain.flowers = { pansies: true, daffodils: false }

# hubot brain runs on events robot.brain.emit 'save'

Page 29: Apresentação guru   slack hubot
Page 30: Apresentação guru   slack hubot

Deploy

Page 31: Apresentação guru   slack hubot

99,526,124 vezes

Você provavelmente fará o deploy no Heroku, não é?

Page 32: Apresentação guru   slack hubot

hubot -c criado o Heroku Procfile para você

run Heroku create

deploy com git push heroku masterinicie com heroku ps:scale web=1

(Você deverá rodar o ps:scale somente por uma vez)

Page 33: Apresentação guru   slack hubot

Case de sucesso!

RDSTATION

Page 34: Apresentação guru   slack hubot

THE CAPYBOT

Page 35: Apresentação guru   slack hubot

Place your screenshot here

Page 36: Apresentação guru   slack hubot

LINKS INTERESSANTES

1) Criação do seu próprio bot - http://blog.pandorabots.com/putting-your-bot-on-slack/

Integrando IA no seu hubot - https://developer.pandorabots.com/

2 ) Nove ferramentas que não podemos viver sem no Slack - https://keen.io/blog/105456820166/9-slack-hacks-we-couldnt-live-without

3) deploy automático com hubot em Travis CI - http://purevirtual.eu/2015/02/18/deploy-githubs-hubot-for-slack-automatically-with-travis-ci-and-cloudfoundry-part-1/

Page 37: Apresentação guru   slack hubot

Obrigado!