SlideShare una empresa de Scribd logo
1 de 37
Ferramentas em
produção Slack e
HUBOT
Vinicius Carvalho
iOS and Ruby developer | Integrador local CocoaHeads
Fortaleza
Você pode me achar nas redes sociais:
@viniciusc70
Você usa Slack?
1.
TODA COMUNIDADE E SEUS
TIMES EM UM SÓ LUGAR.
São alguns exemplos…
iosdevbr.slack.com
androiddevbr.slack.com
ruby-talk.slack.com
Razões para usar Slack
2.
INTEGRAÇÕES COM OUTRAS
FERRAMENTAS.
3.
FERRAMENTA DE
BUSCA.
4.
COMPARTILHAR
ARQUIVOS.
5.
CODE SNIPPETS.
6.
GRUPOS PRIVADOS.
7.
ACESSÍVEL EM MULTI
PLATAFORMAS.
HUBOT <3
O nosso amigo robô.
○ HUBOT.GITHUB.COM
1.Instalação Hubot
2.Visão do Coffescript
3.Hubot Overview
4.APIs
BIG INSTALAÇÃO
1. Instalação Node & Redis
( brew install node redis )
2. Seguir as instruções do brew’s para rodar o redis
3. Install Hubot
( npm install -g hubot )
Encontre uma bela casa para Hubot
cd em seu diretório “projects"
run hubot -c airbot para gerar o boilerplate
cd airbot
npm install
Hello World
run bin/hubot
escreva hubot ping e aperte enter
CREDITS
Uma pequena
introdução ao
Coffescript :˜
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
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)
Exemplo Hubot Script
te and edit scripts/goodbye.cof
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);
hubot persistance
m armazenamento simples através do hubot.bra
carregado por redis-brain, mongo-brain, etc.
ode encontrar estes em hubot-scripts ou escrever
# you may want to wait until the brain has been
initialized
# and there is a database connection
robot.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'
Deploy
99,526,124 vezes
Você provavelmente fará o deploy no Heroku,
não é?
hubot -c criado o Heroku
Procfile para você
run Heroku create
deploy com git push heroku master
inicie com heroku ps:scale web=1
ê deverá rodar o ps:scale somente por uma
Case de sucesso!
RDSTATION
THE CAPYBOT
Place your screenshot here
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/
Obrigado!

Más contenido relacionado

La actualidad más candente

La actualidad más candente (8)

Vagrant + Puppet
Vagrant + PuppetVagrant + Puppet
Vagrant + Puppet
 
Workshop Ubuntu
Workshop UbuntuWorkshop Ubuntu
Workshop Ubuntu
 
OpenLDAP, criando e explorando um overlay
OpenLDAP, criando e explorando um overlayOpenLDAP, criando e explorando um overlay
OpenLDAP, criando e explorando um overlay
 
Open ldap criando e explorando um overlay
Open ldap   criando e explorando um overlayOpen ldap   criando e explorando um overlay
Open ldap criando e explorando um overlay
 
Debian
DebianDebian
Debian
 
Corrigindo Bugs no CPython
Corrigindo Bugs no CPythonCorrigindo Bugs no CPython
Corrigindo Bugs no CPython
 
Linux como funciona esta fera
Linux como funciona esta feraLinux como funciona esta fera
Linux como funciona esta fera
 
Treinamento com SphinxTrain
Treinamento com SphinxTrainTreinamento com SphinxTrain
Treinamento com SphinxTrain
 

Destacado

Destacado (6)

Aula 02 rev_27_02_13_tai
Aula 02 rev_27_02_13_taiAula 02 rev_27_02_13_tai
Aula 02 rev_27_02_13_tai
 
Aula 03 rev_13_08_12_adm_prod_tgpi
Aula 03 rev_13_08_12_adm_prod_tgpiAula 03 rev_13_08_12_adm_prod_tgpi
Aula 03 rev_13_08_12_adm_prod_tgpi
 
Aula 02 introducao adm da produção - db
Aula 02   introducao adm da produção - dbAula 02   introducao adm da produção - db
Aula 02 introducao adm da produção - db
 
Unidade 2 - Estratégia da produção
Unidade 2   - Estratégia da produçãoUnidade 2   - Estratégia da produção
Unidade 2 - Estratégia da produção
 
Administração da Produção
Administração da ProduçãoAdministração da Produção
Administração da Produção
 
Gestão da produção introdução e conceitos
Gestão da produção introdução e conceitosGestão da produção introdução e conceitos
Gestão da produção introdução e conceitos
 

Similar a Apresentação guru slack hubot

O docker vai mudar tudo na sua infra estrutura-ti
O docker vai mudar tudo na sua infra estrutura-tiO docker vai mudar tudo na sua infra estrutura-ti
O docker vai mudar tudo na sua infra estrutura-tiFrancisco Gonçalves
 
TDC2017 | POA Trilha Programacao Funicional - (Nunca) Ouvi falar de Rust... m...
TDC2017 | POA Trilha Programacao Funicional - (Nunca) Ouvi falar de Rust... m...TDC2017 | POA Trilha Programacao Funicional - (Nunca) Ouvi falar de Rust... m...
TDC2017 | POA Trilha Programacao Funicional - (Nunca) Ouvi falar de Rust... m...tdc-globalcode
 
Intro ao eclipse
Intro ao eclipseIntro ao eclipse
Intro ao eclipseLucas Cruz
 
Introdução ao Git - fs2w - GrupySP
Introdução ao Git - fs2w - GrupySPIntrodução ao Git - fs2w - GrupySP
Introdução ao Git - fs2w - GrupySPSamuel Sampaio
 
TDC2017 | São Paulo - Trilha Programação Funcional How we figured out we had ...
TDC2017 | São Paulo - Trilha Programação Funcional How we figured out we had ...TDC2017 | São Paulo - Trilha Programação Funcional How we figured out we had ...
TDC2017 | São Paulo - Trilha Programação Funcional How we figured out we had ...tdc-globalcode
 
Tutorial de instalação do PlayerStageGazebo no ubuntu linux 10.10 maverick me...
Tutorial de instalação do PlayerStageGazebo no ubuntu linux 10.10 maverick me...Tutorial de instalação do PlayerStageGazebo no ubuntu linux 10.10 maverick me...
Tutorial de instalação do PlayerStageGazebo no ubuntu linux 10.10 maverick me...Danilo Ricardo
 
Ficha de trabalho so 6 m4 linux comandos
Ficha de trabalho so 6 m4   linux comandosFicha de trabalho so 6 m4   linux comandos
Ficha de trabalho so 6 m4 linux comandoskamatozza
 
Desenvolvendo Sistemas de Arquivos no FUSE - Luis Otávio de Colla Furquim
Desenvolvendo Sistemas de Arquivos no FUSE - Luis Otávio de Colla FurquimDesenvolvendo Sistemas de Arquivos no FUSE - Luis Otávio de Colla Furquim
Desenvolvendo Sistemas de Arquivos no FUSE - Luis Otávio de Colla FurquimTchelinux
 
Tecnologia front end back-end
Tecnologia front end back-end Tecnologia front end back-end
Tecnologia front end back-end Andressa Silveira
 
Seis passos para colocar um projeto local em um servidor próprio
Seis passos para colocar um projeto local em um servidor próprioSeis passos para colocar um projeto local em um servidor próprio
Seis passos para colocar um projeto local em um servidor próprioMarcos Antônio de Souza Silva
 
Programação em Shell Script
Programação em Shell ScriptProgramação em Shell Script
Programação em Shell ScriptReinaldo Lima
 
Ficha de trabalho so 6 m4 linux comandos
Ficha de trabalho so 6 m4   linux comandosFicha de trabalho so 6 m4   linux comandos
Ficha de trabalho so 6 m4 linux comandosfilipereira
 
Desenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerDesenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerBruno Ricardo Siqueira
 

Similar a Apresentação guru slack hubot (20)

O docker vai mudar tudo na sua infra estrutura-ti
O docker vai mudar tudo na sua infra estrutura-tiO docker vai mudar tudo na sua infra estrutura-ti
O docker vai mudar tudo na sua infra estrutura-ti
 
TDC2017 | POA Trilha Programacao Funicional - (Nunca) Ouvi falar de Rust... m...
TDC2017 | POA Trilha Programacao Funicional - (Nunca) Ouvi falar de Rust... m...TDC2017 | POA Trilha Programacao Funicional - (Nunca) Ouvi falar de Rust... m...
TDC2017 | POA Trilha Programacao Funicional - (Nunca) Ouvi falar de Rust... m...
 
Aula02 eclipse quem_es_tu
Aula02 eclipse quem_es_tuAula02 eclipse quem_es_tu
Aula02 eclipse quem_es_tu
 
Intro ao eclipse
Intro ao eclipseIntro ao eclipse
Intro ao eclipse
 
Introdução ao Git - fs2w - GrupySP
Introdução ao Git - fs2w - GrupySPIntrodução ao Git - fs2w - GrupySP
Introdução ao Git - fs2w - GrupySP
 
IntroduçãO Ao Linux
IntroduçãO Ao LinuxIntroduçãO Ao Linux
IntroduçãO Ao Linux
 
TDC2017 | São Paulo - Trilha Programação Funcional How we figured out we had ...
TDC2017 | São Paulo - Trilha Programação Funcional How we figured out we had ...TDC2017 | São Paulo - Trilha Programação Funcional How we figured out we had ...
TDC2017 | São Paulo - Trilha Programação Funcional How we figured out we had ...
 
Tutorial de instalação do PlayerStageGazebo no ubuntu linux 10.10 maverick me...
Tutorial de instalação do PlayerStageGazebo no ubuntu linux 10.10 maverick me...Tutorial de instalação do PlayerStageGazebo no ubuntu linux 10.10 maverick me...
Tutorial de instalação do PlayerStageGazebo no ubuntu linux 10.10 maverick me...
 
Ficha de trabalho so 6 m4 linux comandos
Ficha de trabalho so 6 m4   linux comandosFicha de trabalho so 6 m4   linux comandos
Ficha de trabalho so 6 m4 linux comandos
 
Asterisk
AsteriskAsterisk
Asterisk
 
Apresentação docker
Apresentação dockerApresentação docker
Apresentação docker
 
Desenvolvendo Sistemas de Arquivos no FUSE - Luis Otávio de Colla Furquim
Desenvolvendo Sistemas de Arquivos no FUSE - Luis Otávio de Colla FurquimDesenvolvendo Sistemas de Arquivos no FUSE - Luis Otávio de Colla Furquim
Desenvolvendo Sistemas de Arquivos no FUSE - Luis Otávio de Colla Furquim
 
Tecnologia front end back-end
Tecnologia front end back-end Tecnologia front end back-end
Tecnologia front end back-end
 
Seis passos para colocar um projeto local em um servidor próprio
Seis passos para colocar um projeto local em um servidor próprioSeis passos para colocar um projeto local em um servidor próprio
Seis passos para colocar um projeto local em um servidor próprio
 
Iniciando com django
Iniciando com djangoIniciando com django
Iniciando com django
 
Programação em Shell Script
Programação em Shell ScriptProgramação em Shell Script
Programação em Shell Script
 
Ficha de trabalho so 6 m4 linux comandos
Ficha de trabalho so 6 m4   linux comandosFicha de trabalho so 6 m4   linux comandos
Ficha de trabalho so 6 m4 linux comandos
 
Desenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando DockerDesenvolvendo e implantando aplicações PHP utilizando Docker
Desenvolvendo e implantando aplicações PHP utilizando Docker
 
Trab linux+sarg
Trab linux+sargTrab linux+sarg
Trab linux+sarg
 
Servidores linux
Servidores linuxServidores linux
Servidores linux
 

Apresentação guru slack hubot