Como fazer o deploy e rodar os testes automaticamente usando o Codeship

Para que serve? Se encaixa na sua necessidade?

Se você precisa constantemente fazer deploy da sua aplicação de maneira segura (rodando os testes antes) então o Codeship pode ser o caminho para você. Ele detecta quando você faz um git push para a branch de sua escolha, roda os testes que você deixou pré definidos na plataforma dele e se os testes passarem ele faz o deploy para o servidor de sua preferência como por exemplo Aws, Heroku ou algum servidor particular via capistrano ou script personalizado. Sim é bem legal e tem um plano free!

O que vamos aprender?

Como integrar nosso projeto (rails, mas você pode user outros frameworks 🙂 ) com o Codeship para poder fazer os testes e o deploy automaticamente para o Heroku.

Ingredientes

Objetivos (Passo a Passo)

  • Criar um projeto usando Rails 5
  • Criar um repositório no Github para o nosso projeto
  • Criar um App no heroku
  • Criar uma aplicação no Codeship e fazer o Deploy (e testes)
Mãos a Obra \o/

Criar um projeto usando Rails 5

  1. Para instalar usando Rails 5, rode no terminal:
  2. Verifique se a versão do Rails é realmente a 5 rodando:
  3. Crie o projeto, rodando:

    *O postgresql é obrigatório porque o Heroku não aceita o sqlite3, então garanta que você tem ele instalado na sua máquina, caso não tenha instale.
  4. Agora crie um controller, rodando:
  5. Vá até o seu arquivo config/routes.rb e substitua o conteúdo por:
  6. Coloque seu user e password  do postgreSql no arquivo config/database.yml:
    captura-de-tela-de-2016-10-14-20-53-31
  7. Crie o banco de dados rodando:
  8. Agora rode o app e acesse o http://localhost:3000 para ver o conteúdo:

    O resultado deve ser este:
    captura-de-tela-de-2016-10-14-19-20-27
  9. \o/ Pronto nosso App de teste está pronto, vamos para o próximo passo.

*Como de costume se você quiser acessar o código completo desse pequeno App para referência, acesse esse link.

Criar um repositório no Github para o nosso projeto

  1. Acesse esse -> link <- para o Github e entre na sua conta ou crie uma.
  2. Na página principal do Github clique em “New Repository”
    captura-de-tela-de-2016-10-14-19-24-16
  3. Agora escolha um nome para o seu repositório e clique em “Create Repository”
    is there another dating site like pof
  4. Agora na pasta do projeto que criamos no passo anterior, vamos iniciar o git rodando:
  5. Agora vamos adicionar as nossas mudanças, rodando os dois comandos:
  6. Para conectar a pasta com o Github, rode esse comando substituindo SEU_USUARIO pelo seu usuário no Github e NOME_DO_SEU_PROJETO pelo nome do projeto que você criou no Github.
  7. Pronto, estamos chegando lá \o/.

Criar um App no Heroku

  1. Acesse esse -> https://onebitcode.com/dating-sites-for-over-50-in-cape-town/ <- para o Heroku  e entre na sua conta ou crie uma.
  2. Agora, no seu dashboard clique no botão “New” depois “Create App”
    captura-de-tela-de-2016-10-14-19-36-39
  3. Agora escolha um nome e clique em “Create App”
    captura-de-tela-de-2016-10-14-19-38-52
  4. Agora acesse o link para o “Account” clicando aqui.
  5. Vá até “Api Key” e guarde a chave para usarmos em breve
    captura-de-tela-de-2016-10-14-20-04-30
  6. \o/ Pronto, vencemos mais uma etapa.

Criar uma aplicação no Codeship e fazer o Deploy (e testes)

  1. Acesse esse -> link <- para o Codeship  e entre na sua conta ou crie uma usando o Github.
  2. Agora crie um projeto clicando em “Projects” na barra superior depois em “Create a new Project” ou outro botão que esteja disponível nesse sentido.
    captura-de-tela-de-2016-10-14-19-45-32
  3. Agora clique no simbolo do “Github”
    captura-de-tela-de-2016-10-14-19-47-10
  4. Coloque a URL para o seu projeto no Github e clique em “Connect”:
    captura-de-tela-de-2016-10-14-19-48-09
  5. Agora na tela que apareceu você pode configurar seus testes, build e etc, vamos lá.
  6. Primeiro escolha a sua plataforma, no caso desse exemplo, ruby on rails:
    captura-de-tela-de-2016-10-14-19-52-43
  7. Agora em “Setup Coomands”, você pode escolher os comandos para preparar o seu App, como por exemplo rake db:migrate (no exemplo vamos deixar o default)
    captura-de-tela-de-2016-10-14-19-54-01
  8. E finalmente, em “Test Commands” você pode colocar os comandos para rodar os testes da sua aplicação como por exemplo “bundle exec rspec” (no exemplo vamos deixar o default)
    captura-de-tela-de-2016-10-14-19-54-29
  9. Agora clique em “Save and Go to Dashboard”
  10. Pronto, na tela que apareceu clique em “Project Settings” e depois em “Deployment”
    captura-de-tela-de-2016-10-14-20-01-27
  11. Agora escolha a branch “master” e clique em “Save pipelines” settings.
    captura-de-tela-de-2016-10-14-20-03-08
  12. Essas são as opções de deploy, escolha o Heroku.
    codeship
  13. Agora coloque o nome do App que você criou no heroku e depois aquela chave que pegamos no heroku e que eu disse para você guardar que usaríamos em breve, esse é o momento meu caro :), depois clique em “Create Deployment”
    captura-de-tela-de-2016-10-14-20-36-32
  14. Pronto, o resultado deve ser este:
    captura-de-tela-de-2016-10-14-20-05-46
  15. Agora vá para o dashboard do seu projeto clicando no link a baixo do menu do lado esquerdo (seu_user/nome_do_seu_projeto):
    captura-de-tela-de-2016-10-14-20-19-18
  16. Você deve ver que o codeship agora está esperando pelo seu git push para poder rodar os testes e fazer o deploy, vamos lá:
    captura-de-tela-de-2016-10-14-20-15-52
  17. Agora para ativar o trigger do codeship, vamos fazer o git push, rode:

    *Caso ele peça suas credenciais, use as mesmas do Github.
  18. Pronto, agora vá até o seu dashboard no Codeship e note que ele está rodando “running” os builds, testes e o deploy.
    captura-de-tela-de-2016-10-14-20-29-28
  19. Agora existem dois caminhos, ou tudo vai dar certo e ele vai fazer o deploy, ou ele vai falhar por algum motivo simples de corrigir como por exemplo, você pode ter colocado suas credenciais do heroku incorretamente ou até mesmo o nome incorreto do seu app do heroku. Outras causas de erro podem ser por exemplo os testes da sua aplicação que rodaram mas não passaram (os testes falharam) ou o seus builds tiveram algum problema.
    De qualquer forma, você só precisa alterar no seu App do codeship no menu “Project Settings” seus builds, ou testes ou informações para o deploy.
  20. \o/ Pronto ele fez o deploy.
    captura-de-tela-de-2016-10-14-21-11-27
  21. Agora acesse a URL do App que você criou no heroku “https://NOME_DO_SEU_APP.herokuapp.com/”, no caso desse exemplo https://codeshipexample.herokuapp.com/.
    captura-de-tela-de-2016-10-14-21-13-21
  22. Parabéns, nós conseguimos 🙂



12 formas de vencer o bloqueio criativo e escrever textos memoráveis (e 6 dicas extras)

Não perca nenhum conteúdo

Receba nosso resumo semanal com os novos posts, cursos, talks e vagas o/



Conclusão

Usar o Codeship pode fazer a diferença no seu dia a dia de programação e te economizar muito tempo e paciência.
O Codeship tem muitas opções de deploy e te permite fazer uma infinidade de testes, então explore um pouco mais a plataforma e compartilhe suas opiniões e dúvidas comigo ou comentando aí em baixo ou me adicionando no Facebook (clicando aqui).

Se você não viu o Screencast de ontem sobre o Action Cable, clique aqui e assista “COMO CRIAR UM CHAT EM TEMPO REAL USANDO ACTION CABLE (RAILS 5)” 🙂

Muito Obrigado,
Sua atenção é uma honra para mim.

Leonardo Scorza


Primeira vez no OneBitCode? Curtiu esse conteúdo?
O OneBitCode tem muito mais para você!


O OneBitCode traz conteúdos de qualidade, e em português, sobre programação com foco em Ruby on Rails e também JavaScript.
Além disso, aqui sempre levamos à você conteúdos valiosos sobre a carreira de programação, dicas sobre currículos, portfólios, perfil profissional, soft skills, enfim, tudo o que você precisa saber para continuar evoluindo como Programador(a)!

Fique por dentro de todos os conteúdos o/

 

Nossas redes sociais:

📹 • https://youtube.com/Onebitcode [Live todas as terças-feiras às 19h)
💻 • https://linkedin.com/company/onebitcode
🙂 • https://facebook.com/onebitcode
 📱  • https://instagram.com/one_bit_code
🐦 • https://twitter.com/onebitcode

 

Nossos cursos:

🥇 • Programador Full Stack Javascript em 8 Semanas
💎 • Curso Completo de Ruby
 ⚙  • Minicurso: API Rails 5 Completo
🐞 • Minicurso de Testes para Ruby on Rails com RSpec

 

Espero que curta nossos conteúdos e sempre que precisar de ajuda, fala com a gente!
E
stamos aqui para você 🙂

Bem-vindo à família OneBitCode o/

0 0 votes
Article Rating
janeiro 17, 2020
Subscribe
Notify of
guest
0 Comentários
Inline Feedbacks
View all comments

Feito com s2 por OneBitCode

0
Would love your thoughts, please comment.x
()
x