-
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!