Olá, neste vídeo vou mostrar-vos como
implantar o teu bot, escrito no note.js
para um servidor, esse servidor sendo um
que corre em um serviço chamado heroku.
Vamos olhar para as Peças.
Como podes ver, aqui tenho o meu
browser, aberto para a minha conta "teste"
"A-2-Z I-T-P" em que um bot tweetou
um número aleatório (39), e eu tenho
o código para esse bot aberto aqui mesmo
como podes ver no sublime, é muito simples,
tendo só uma função, que tweeta esse
número aleatório. E também tenho o meu
terminal aberto para esse designado diretório
E eu posso, rápidamente testar, para ter
a certeza que o bot funciona, o bot está
a iniciar, funcionou!
Vamos voltar ao browser, vou refrescar
a página, e podemos agora ver que temos o
número aleatório 4
Portanto, tudo está a funcionar, mas o que
quero dizer neste vídeo, é que quero dizer
"Este bot, que está a correr ali, eu não
quero que ele corra do meu portátil, eu
quero que corra sozinho, ou em um servidor
algures que o posso preparar para ir, e
não pensar mais nele denovo.
Então va- Ah, tweetou denovo, vamos fechar
,e ver como podemos fazer isso. Então
O site- o serviço que vou usar neste vídeo
em particular é o Heroku, então, vais
precisar de uma conta, então se estás a
ver este vídeo, e não tens uma conta
Heroku, vai para o website www.heroku.com
Heroku, escrito desta forma:
E, podes ver aqui, eu entrei, e, eu já
estou logado, por isso foi diretamente
para o meu painel de instrumentos, e,
podes ver que tenho estas coisas já
listadas no meu painel de instrumentos,
porque aparentemente eu tentei fazer uma
variadade de (tentei fazer isto uma data
de vezes) Teste isto, teste aquilo
"delete-soon" etc... Então o que são estas
coisas, isto é referido como "dinos" mas
não "d-i-n-o-s" mas sim "d-y-n-o-s" como
alguma coisa dinâmica que está a correr, é
um processo que estás a correr, então o
que tenho que fazer é criar um dyno, para
correr o meu bot, então, a primeira coisa
que eu vou fazer, é que vou aqui para este
sinal de mais (+) aqui no topo direito, e
vou clicar em "Create new app" App é
realmente o que estou a fazer, vou criar
um app, vou chamá-lo "CodingRainbow-Demo"
"Só deveria conter letras minúsculas" Ok,
"codingrainbow-demo"? Está disponível, vou
criá-lo, e... Agora está ali, então,
Tenho muitas coisas que eu tenho que fazer
aqui, e uma das coisas de usar Heroku é
que Heroku é como se fosse o seu próprio
tipo de animal (não é bem um animal, é um
serviço-web, mas não interessa) tem a sua
própria maneira de fazer coisas, e a
maneira que tu mandas coisas para o Heroku
, e voltas a receber pelo Heroku, são duas
maneiras, a primeira é que usas "Get", o
que é "Git"? Oh meu, se não sabes o que é
"Git" fica atento para alguns tutoriais
pelo Github, mas, por enquanto, se não
sabes o que "Git" é, ainda serás capaz de
seguir isto, mas vais ter que copiar--
(Ouvi um barulho...), (Há uma pessoa...
algures aqui perto...) Tenho que continuar
Podes copiar alguns destes comandos...
Ok, então agora, estou a esperar para ver
alguém que- o meu vizinho Joe, eu amo o
Joe, é um ótimo Homem, ele veio dizer Olá
no outro dia, Ok tenho que continuar,
então, podes ver aqui que na página Heroku
até te dá alguns tipos de comandos que
podes seguir, mas vamos-nos preocupar com
isso daqui bocadinho, mas, estamos sem um
outro aspeto aqui, a primeira coisa que
está a dizer para fazer é dizer
"heroku login" querendo dizer entrar
dentro da tua conta heroku, por o terminal
Então se for aqui e digitar "heroku login
" Diz "Comando não encontrado" Então uma
das coisas que precisas para poder usar o
Heroku, é uma peça de software chamada
TolBelt, eu provavelmente devia ter, mas
vou só pesquisar Heroku Toolbelt, vou
clicar no primeiro link que aparece, e vou
fazer o download, e acho que isto vai
acontecer rápido o suficiente que posso
só fazer isto, e vou instala-lo, continuar
instalar, palavra-passe, e aqui temos...
estou a instalar, e faço a minha dança da
Instalação, a coisa estranha de eu fazer
esta dança (Este vídeo tem uma janela de
pré-visualização) estou a ver-me daqui, em
vez de dançar para a câmera, vou editar
esta parte, alguém vai fazer um GIF
estranho sobre aquilo, ou alguma coisa
Ok, então agora, deveria ser capaz de
voltar para traz, e digitar Heroku, olha
para isto! A instalar toolbelt, nem sabia
que ia fazer isso! Então talvez tenhas que
fazer isso, estava prestes a dizer Heroku
login, mas estava só a digitar Heroku para
ter a certeza que funciona, aparentemente
tenho que fazer outra dança, porque está a
instalar imensas coisas, phew não tenho
que dançar, então, agora, podemos ver,
deveria poder digitar Heroku Login, e
devia perguntar por o meus meus
credenciais, a minha conta está debaixo do
meu email, a minha password é sons
Ah, Loggado, então agora, que estou
conectado, posso realmente começar a
fazer coisas que me podem permitir a
implantar, pelo terminal aqui, todas as
do meu bot, para o Heroku sí mesmo.
Então, vamos voltar agora, para esta
página, e, ah, não, esta página, não esta,
desculpem, e podemos ver aqui: agora,
que eu me conectei com o Heroku, a
próxima coisa que tenho que fazer, é fazer
a meu bot, para um repositório Git, denovo
o que Git é, se não estás familiarizado,
é fora do que podemos ensinar neste
vídeo em particular, mas é um software de
controle de versão, e, o que me vai
permitir fazer, é assim que o possa
transformar em um repositório Git,
querendo dizer, todos os códigos do meu
bot está dentro desta pasta, vai me
permitir a empurrar esse repositório Git,
para o Heroku, porque tudo que vive no
Heroku, também é um repositório Git. Então
eu vou ser permitido a seguir estes
comandos, a primeira coisa que vou dizer é
"git init" diz git init denovo e iniciou
um repositório git vazio. Agora, seu eu
escrever got (Já agora em vez de git) vai
dizer "o comando got não foi encontrado",
se tu tiveres este erro, querendo dizer
"Git comando não encontrado" isto só quere
dizer que precisar de fazer o download e
instalar "Git" por isso se pesquisar "Git"
A primeira coisa que aparece, é este
website em particular: "git-scm.com" e
posso só (algures aqui), aqui mesmo,
posso fazer o download para o mac ou para
o windows, ou qual é o teu respetivo
sistema operativo, por isso podes fazer o
download e instalar o Git, se por por
alguma razão ainda não o tinhas, ok ,
agora que já fiz isso, o próximo comando
que eu tenho que fazer, é este:
"heroku git:remote -a" então o que estou a
fazer é, estou a dizer, que quero o meu
repositório git, esta coisa que vive no
meu computador, quero que seja ligado a um
lugar remoto, aquele lugar remoto, lá no
fundo... Que é o Heroku, e eu não só o
quero ligar ao Heroku, mas também o quero
ligar para a minha aplicação, que é
"Coding Rainbow demo" por isso posso só
exatamente isto, aqui, e posso colar isso
no terminal, estou a ve-lo aqui na minha
janela de pré-visualização, e aqui temos,
está tudo pronto (agora) E agora, eu
posso ir aqui, e posso dizer, ok então o
próximo grupo de comandos aqui, é, agora
eu quero enviar as coisas para o Heroku,
e a maneira que podes mandar coisas para o
Heroku, é com um comando Git chamado "Push
(Empurrar) em Git "Push" significa manda,
e "pull" significa" recebe, por isso, há
muito para isto, mas a primeira coisa que
tenho que fazer é adicionar, e cometer...
Por isso vou seguir estes comandos. Algum
dia isto irá ligar aos meus tutoriais
sobre o git, em que irei explicar todos
estes comandos. Vou dizer "git add" e vou
só dizer exatamente "git commit -am
"make it better"" Pelo menos posso por o
próprio comentário aqui, e vou dizer:
Ah, não podes dizer (isto tem que ser
movido um pouco para aqui) e vou dizer,
"this is my bot" (isto é o meu bot)
e fez isso, e agora vou dizer:
"git push heroku master" (ele repete), que
irá enviá-lo, por isso agora, está a
enviá-lo para o Heroku, e vai fazer todo o
tipo de coisas para tentar o tentar correr
A coisa é, eu esqueci-me de alguns passos,
por isso, estes teriam sido os passos, se
tivesse fizesse isto da forma tradicional,
"forma-antiga" aplicação web, fiz um tipo
de servidor, serve páginas web, pessoas
vão (debaixo?) do meu servidor, para ver
as minhas páginas, mas isso não é o que eu
preciso. Eu preciso deste bot, que é
simplesmente este processo, que precisa de
correr, por trás das "câmeras". Não há
nenhum servidor-web, não há nenhum sítio,
não há nenhum URL, para onde quero ir, só
quero que esta "coisa" corra no servidor,
então tenho aqui, (só quero ter a certeza
que estou a digitar o syntax correto, as
minhas notas) E... Ok, então, de modo a
fazer isto, está-me a faltar uma peça em
particular. Então, a primeira coisa que
quero fazer (eu devia ter praticado isto)
antes, mais isto está bem, então, aqui
estamos, Ok, o que fizemos até agora?
Fizemos o código para o nosso bot,
puxámo-lo para o Heroku, e de uma certa
forma até nos disse "Verifying deploy done
(Verificação da implantação feita) E não
me deu nenhumas mensagens de erro, então
vamos olhar agora, vou voltar para o meu
painel de instrumentos, e eu deveria ver
aqui, deveria ser capaz de encontrar Woops
Deveria ser capaz de encontrar "coding
-rainbow-demo" E vou clicar nisso, e vamos
ver, diz "Sleeping" (a dormir) Então não
está realmente a funcionar, não está a
fazer nada (ainda) E a razão que não está
a fazer nada, é porque, está listado como
uma aplicação-web, e eu tenho que mudar
isto para ser o que chamamos uma aplicação
de trabalho, e era isso que estava a falar
anteriormente, um trabalhador, uma
aplicação-web é alguma coisa que serve
páginas web, um trabalhador é alguma coisa
que trabalha por trás das "câmeras" com os
seus próprios processos, e é isso o que um
bot é, então, de forma a fazer isso,
preciso de voltar para o meu código (aqui)
E eu tenho que, criar uma pasta nova.
Então então este é o meu ficheiro, com
todas as coisas, e preciso de criar um
ficheiro novo, e preciso que esse ficheiro
seja chamado: (Vou salvá-lo) "Procfile"
Isto é um ficheiro de processo, é um
ficheiro de configuração em que o Heroku
vai procurar, para saber, o que é que esta
coisa é suposta a fazer. Então vou salvar
aquilo, e dentro desse ficheiro, vou dizer
Esta coisa é realmente um trabalhador, em
vez de uma aplicação-web, e o seu trabalho
é para correr "node bot.js" então, vou
salvar isto, dentro dali, e depois, eu
tenho que voltar e isto é denovo, se não
estás familiarizado com o Git, aqui está
a coisa, eu fiz algumas alterações ao meu
projeto, agora preciso que estas mudanças
vão para o Heroku. Estas mudanças estão só
no localmente no meu computador. Então
para fazer isso, eu preciso de dizer:
"git add ." Isto está a adicionar as
minhas mudanças, e preciso de dizer:
"git commit -m "adding the Procfile"
E pode seguir as mesmas coisas que fiz
para o primeiro, e depois vou dizer:
"git push heroku master" isto está a
enviá-lo para o Heroku (master) O Heroku é
o nosso meste, e agora... Isso feito,
está acabado. Enquanto faço a minha dança
E tenho que esperar para tudo isto acabar.
A lançar, a verificar a implantação, etc..
Agora, deveria ser capaz de ir aqui, e
clicar em "refrescar" e deveria ver-
agora eu vejo, olhem para isto! Diz:
"worker node bot.js". E Isto, quero
desligar, então tenho que clicar em:
"editar". E eu quero desligar (o web), o
processo web, (confirmar). E eu quero
ligar o do "worker" (trabalhador),
confirmar, e agora, Tanto quanto sei,
oh meu deus Nós mandámos muitos tweets.
Podemos ver agora que agora já está a
Correr. Interessante que realmente
funcionou, talvez antes, mas agora deveria
estar a correr a cada 20 segundos. Deveria
postar um novo tweet. E deveriamos ser
capazes de ver, já agora, se eu voltar
aqui e dizer "heroku log" Ah, o que quis
dizer foi, "log" não é um comando, talvez
quis dizer "logs" e de fato, sim, quis
dizer "logs", "heroku logs" E podes ver já
agora, isto está a correr, pois já temos
dois novos tweets. E, aqui, funcionou,
correto, então, então podes ver já agora,
Há imensas coisas que estão a acontecer
aqui, pois o deixei correr como uma coisa
web da primeira vez, e a coisa web tem um
erro, parou, mas podes ver a coisa do
"worker" (trabalhador) está a dizer que
funcionou, funcionou, funcionou. Então,
não sei se 20 segundos já passaram, mas se
eu fizer isto denovo, olha para os
registos, podes ver que o trabalhador
ainda está a correr então, eu vou
desligar o bot, porque eu tenho-o
configurado para 20 segundos, o que é
bastante rápido, mas podes ver que isto
resulta, por isso agora, o meu bot está
implantado no Heroku, e já agora, contas
livres, contas livre Heroku! Para fazer
isto. Então, não precisas de pagar uma
conta Heroku, podes simplesmente correr
uma aplicação com uma processo de
trabalhador. Então, esperançosamente isto
foi servido de ajuda para ti, isto é á
volta de 15 minutos, dos passos, o que vou
fazer na descrição do vídeo, é, vou colar
links para todas as peças que tens que
fazer o download, também vou ter esta
coisa que eu corri como um tutorial
escrito. Então irei postar um link para
isso também. Mas antes que me vá embora,
vou mostrar-vos como posso desligar se eu
quiser, então posso clicar em "edit" aqui,
posso desligar isto, e clicar em "Confirm"
Então agora, o meu bot, mesmo tendo
postando mais quatro números aleatórios,
Já devia ter parado. E já não irá fazer
mais números aleatórios, porque já o
desliguei. Então, isto concluí a nossa
discussão de implantar o teu bot note.js
para o Heroku!